time="2024-07-08T15:52:38Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-gateway-1 Creating Container integration-test-authorization-1 Creating Container integration-test-authentication-1 Creating Container integration-test-experiment-1 Creating Container integration-test-federation-1 Creating Container integration-test-device-1 Creating 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 Container integration-test-authorization-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 gateway-1 | 2024/07/08 15:53:17 [error] 60#60: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway-1 | {"time_local":"08/Jul/2024:15:53:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c0dc63e1f1bb196590602207fb63eda8"} federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-07-08T15:53:18Z"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","message":"Device Service started successfully"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:32976","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-07-08T15:53:19Z"} authorization-1 | {"client_addr":"127.0.0.1:32976","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.226335,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:19Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1720453999.2209246} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1720453999.2210503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1720453999.221129} 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":1720453999.221278} 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":1720453999.22131} 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":1720453999.2213476,"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":1720453999.2218103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1720453999.2226744} 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:47278","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-07-08T15:53:19.242301915Z","id":"01J29GSAMAWVG7JAX19C1NPZ6T","name":"crosslab","updated_at":"2024-07-08T15:53:19.242301915Z"},"request_id":"748c3d32-1266-49fd-9f96-1bedfc1359f8","subsystem":"openfga","timestamp":1720453999.242375} 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:47278","raw_request":{"schema_version":"1.1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01J29GSANM7KPDA4K72FFCRMVX"},"request_id":"8f717343-61be-4c7b-b95d-e1206fc59260","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720453999.2842236} authorization-1 | {"client_addr":"127.0.0.1:32976","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-07-08T15:53:19Z"} authorization-1 | {"client_addr":"127.0.0.1:32976","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.236639,"resp_status":204,"subsystem":"opa","time":"2024-07-08T15:53:19Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.66.0/opa_linux_amd64","latest_version":"0.66.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.66.0","subsystem":"opa","time":"2024-07-08T15:53:19Z"} gateway-1 | {"time_local":"08/Jul/2024:15:53:22 +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.029","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"18842560921a1a0206a936dda31cce8e"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 21ms","method":"HEAD","requestID":"18842560921a1a0206a936dda31cce8e","responseTime":21,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"08/Jul/2024:15:53:22 +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.012","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"45236eb3bca297b6498e1420026b6d17"} device-1 | {"level":"info","message":"HEAD /device/status 200 7ms","method":"HEAD","requestID":"347b81e0-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"08/Jul/2024:15:53:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.008","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"eb457f14907d414c2b4f2d23ac8f6fdf"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 3ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"eb457f14907d414c2b4f2d23ac8f6fdf"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"08/Jul/2024:15:53:22 +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.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e90140749011f5c22d00c28a1d851b1b"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 9ms","method":"HEAD","requestID":"34808af0-3d42-11ef-81a2-75c915aa2cef","responseTime":9,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"08/Jul/2024:15:53:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.013","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c68ce0e33463499b75a0126f1e87d554"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"34837120-3d42-11ef-9715-9129a99eecc2","responseTime":9,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"08/Jul/2024:15:53:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"343bb9d780706371a15265ed2bbf8031"} authentication-1 | {"level":"info","message":"POST /login 201 113ms","method":"POST","requestID":"343bb9d780706371a15265ed2bbf8031","responseTime":113,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwNn0.f3retY06wzsaA5ENsbS3in8HwZyfAcsrzicngzamdRo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 143ms","method":"GET","requestID":"de01bfc69264947b6541b4a6fcf4c755","responseTime":143,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.190261,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454006,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwNn0.f3retY06wzsaA5ENsbS3in8HwZyfAcsrzicngzamdRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de01bfc69264947b6541b4a6fcf4c755"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"df957f32-3d63-4a14-afeb-068e4969c95c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.0055554} 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":"de01bfc69264947b6541b4a6fcf4c755"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"906e393b-d6cf-40b8-ae10-fcf920c78b52","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.029006} 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":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de01bfc69264947b6541b4a6fcf4c755"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"15168526-3d0a-4463-a90b-9a8b0078844d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.1960516} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e513326-124b-48e4-ab22-700cac700bd8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.1967037} authorization-1 | {"level":"info","message":"POST /relations/update 200 171ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de01bfc69264947b6541b4a6fcf4c755"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":171}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.196020080Z"}]},"request_id":"53512ee8-fb4e-4f28-902c-3aacefb42249","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.207638} 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":"de01bfc69264947b6541b4a6fcf4c755"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.635","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de01bfc69264947b6541b4a6fcf4c755"} device-1 | {"level":"info","message":"POST /devices? 201 473ms","method":"POST","requestID":"de01bfc69264947b6541b4a6fcf4c755","responseTime":473,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwN30.aaLqeXJe90j7sbeNvPfn9DR0RMJOu6mCTdTYh992HaI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"1e4f5636398d54967342531bb0d14552","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.495112,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454007,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwN30.aaLqeXJe90j7sbeNvPfn9DR0RMJOu6mCTdTYh992HaI"} 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":"1e4f5636398d54967342531bb0d14552"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4cb27c08-3b31-4562-ae84-568832e1f498","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.301273} 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":"1e4f5636398d54967342531bb0d14552"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e47948ca-c5e5-49b0-bf5f-6e2e2523eeb8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.3158116} 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":"1e4f5636398d54967342531bb0d14552"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"d0d5c037-54ea-4139-a688-0db92def54b0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.3344727} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6aca44a0-4acf-4ded-9068-e0333562b3b5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.334847} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e4f5636398d54967342531bb0d14552"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.334453390Z"}]},"request_id":"951e5854-a8ae-4382-aca7-ab10284567a3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454007.348474} 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":"1e4f5636398d54967342531bb0d14552"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.107","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e4f5636398d54967342531bb0d14552"} device-1 | {"level":"info","message":"POST /devices? 201 96ms","method":"POST","requestID":"1e4f5636398d54967342531bb0d14552","responseTime":96,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b425e45fa521af365c6d3860230669f","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:53:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/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":"0b425e45fa521af365c6d3860230669f"} device-1 | {"level":"info","message":"OPTIONS /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/websocket 200 3ms","method":"OPTIONS","requestID":"0b425e45fa521af365c6d3860230669f","responseTime":3,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/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":"a51a34c40ed926437f24b2cfe98cafed","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:53:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/25b98857-0acd-41fb-9604-4fdbb22d1570/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":"a51a34c40ed926437f24b2cfe98cafed"} device-1 | {"level":"info","message":"OPTIONS /devices/25b98857-0acd-41fb-9604-4fdbb22d1570/websocket 200 1ms","method":"OPTIONS","requestID":"a51a34c40ed926437f24b2cfe98cafed","responseTime":1,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ddc7790426813adaf11aa5c6229f9aad","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d6608d4327c52b0532e96a8ead9ff70","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.09413,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} 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":"ddc7790426813adaf11aa5c6229f9aad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.457557,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} 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":"2d6608d4327c52b0532e96a8ead9ff70"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/25b98857-0acd-41fb-9604-4fdbb22d1570/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2d6608d4327c52b0532e96a8ead9ff70"} device-1 | {"level":"info","message":"POST /devices/25b98857-0acd-41fb-9604-4fdbb22d1570/websocket 200 42ms","method":"POST","requestID":"2d6608d4327c52b0532e96a8ead9ff70","responseTime":42,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/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":"ddc7790426813adaf11aa5c6229f9aad"} device-1 | {"level":"info","message":"POST /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/websocket 200 49ms","method":"POST","requestID":"ddc7790426813adaf11aa5c6229f9aad","responseTime":49,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"932abc1262a22f020df539900cf8aa49","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202605,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"932abc1262a22f020df539900cf8aa49"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.196020080Z"}]},"request_id":"8a547dca-24fe-449f-bb6b-aeea75716797","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454009.6267781} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"932abc1262a22f020df539900cf8aa49"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/25b98857-0acd-41fb-9604-4fdbb22d1570? 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":"932abc1262a22f020df539900cf8aa49"} device-1 | {"level":"info","message":"GET /devices/25b98857-0acd-41fb-9604-4fdbb22d1570? 200 34ms","method":"GET","requestID":"932abc1262a22f020df539900cf8aa49","responseTime":34,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"46aebdc37daae08a6a4565706ffa51f5","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214988,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} 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":"46aebdc37daae08a6a4565706ffa51f5"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.334453390Z"}]},"request_id":"8daaced9-5bc0-47e9-92fe-ffee42bc2384","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454009.6762817} 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":"46aebdc37daae08a6a4565706ffa51f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46aebdc37daae08a6a4565706ffa51f5"} device-1 | {"level":"info","message":"GET /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa? 200 26ms","method":"GET","requestID":"46aebdc37daae08a6a4565706ffa51f5","responseTime":26,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3783dd2e10ed79a2dd2d72cfbcbc30c1","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.901577,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3783dd2e10ed79a2dd2d72cfbcbc30c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"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:57924","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686385,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"389fd730-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.586,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38a02550-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.196020080Z"}]},"request_id":"9e383849-b371-47be-8c29-cd8a6878d6d8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454009.9038246} 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":"389fd730-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.334453390Z"}]},"request_id":"97da8d53-4966-4647-8503-d865fcff24ca","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454009.9056013} 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":"38a02550-3d42-11ef-b841-3faa56dbb9da"},"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/25b98857-0acd-41fb-9604-4fdbb22d1570? 200 22ms","method":"GET","requestID":"389fd730-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa? 200 21ms","method":"GET","requestID":"38a02550-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"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/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836999,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654055,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} 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":"38ae0800-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} 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":"38ae5620-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.54474,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c0164cc-518c-40ff-9275-5f0ad0a69aaf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.0070536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.334453390Z"}]},"request_id":"fb91b140-ff07-470f-a1ae-c6b7df474398","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.0105753} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38aea440-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38ae5620-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.196020080Z"}]},"request_id":"09083b5d-f082-4e35-920f-27f2211ba8f2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.0147047} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38ae0800-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F458c7ecb-8a46-46a2-b9c3-594f1d91038b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F458c7ecb-8a46-46a2-b9c3-594f1d91038b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"6e4e91be-1f9f-4b4f-92f5-e6015e16c1d7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.026772} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e925c18-6f93-4be9-832a-03a9d67a7a7c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.0272737} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling 200 42ms","method":"POST","requestID":"38aea440-3d42-11ef-b841-3faa56dbb9da","responseTime":42,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa? 200 45ms","method":"GET","requestID":"38ae5620-3d42-11ef-b841-3faa56dbb9da","responseTime":45,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/25b98857-0acd-41fb-9604-4fdbb22d1570? 200 48ms","method":"GET","requestID":"38ae0800-3d42-11ef-b841-3faa56dbb9da","responseTime":48,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3783dd2e10ed79a2dd2d72cfbcbc30c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":29}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02ed9a6e-00e0-4512-b7c5-b97c8e08d149","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.0419104} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.534477,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","rebac_allow":false,"scope_allow":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":"38b5a920-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbd5a442-6565-4749-a05a-cdaec4ef0ae0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.0477834} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.257182,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","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 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":"38b69380-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"POST /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/signaling 200 17ms","method":"POST","requestID":"38b5a920-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.361","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3783dd2e10ed79a2dd2d72cfbcbc30c1"} device-1 | {"level":"info","message":"POST /devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling 200 15ms","method":"POST","requestID":"38b69380-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 337ms","method":"POST","requestID":"3783dd2e10ed79a2dd2d72cfbcbc30c1","responseTime":337,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"42a57180fffc39957858634f6698efd8","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88980fe3-a7fb-49a0-b85a-2b84ead82066","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.0661142} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.363148,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","rebac_allow":false,"scope_allow":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":"38b9a0c0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.811079,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454010,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8"} 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":"42a57180fffc39957858634f6698efd8"},"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/2fd1e367-43fc-48e2-8d32-1b621718d9fa/signaling 200 15ms","method":"POST","requestID":"38b9a0c0-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.196020080Z"}]},"request_id":"9cc924ab-bee1-40be-95f9-b2d58f10eb93","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.0769901} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Building connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42a57180fffc39957858634f6698efd8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"cfbc3c72-33cf-4db5-aa31-2b41e804deb3"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"bca93a07-a4d9-4b3c-8e46-ebc465964729"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1fee778b-47a6-41a1-9c06-cc535f1a249c"}]},"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/25b98857-0acd-41fb-9604-4fdbb22d1570"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/25b98857-0acd-41fb-9604-4fdbb22d1570? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42a57180fffc39957858634f6698efd8"} device-1 | {"level":"info","message":"GET /devices/25b98857-0acd-41fb-9604-4fdbb22d1570? 200 18ms","method":"GET","requestID":"42a57180fffc39957858634f6698efd8","responseTime":18,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5d5266bc0f725a3daef18ea31c3eb77d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.910954,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454009,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAwOX0.xz5Krd09uUBuoLsQOubN0Y2mI88e6OAMdQhnQHpErmM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38bd9860-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674611,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454010,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d5266bc0f725a3daef18ea31c3eb77d"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:27.334453390Z"}]},"request_id":"f282974e-45bd-432a-9d49-765e898d6468","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.106635} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d5266bc0f725a3daef18ea31c3eb77d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d5266bc0f725a3daef18ea31c3eb77d"} device-1 | {"level":"info","message":"GET /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa? 200 22ms","method":"GET","requestID":"5d5266bc0f725a3daef18ea31c3eb77d","responseTime":22,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"376709e4-5d70-420d-b352-57f6276cf433","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.1233141} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb7f4a1e-263f-4a5d-baab-86219df9dd21","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.1234965} 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":"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":"38bd9860-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} 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/5918525b-326b-4d00-a2d5-f311d3971c4e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e'"} 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 57ms","method":"POST","requestID":"38bd9860-3d42-11ef-b841-3faa56dbb9da","responseTime":57,"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/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7025d45-3ee0-42aa-a069-a3428e6e8a9b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.1793642} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.304304,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38cb05e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling 200 9ms","method":"POST","requestID":"38cb05e0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b13846de-3ba1-4667-8b2c-3c4380cd87dd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.1916203} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.193221,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38cd01b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/signaling 200 11ms","method":"POST","requestID":"38cd01b0-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5918525b-326b-4d00-a2d5-f311d3971c4e","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":"e5db43681f6bc1c6707b55c0834bbdad","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/25b98857-0acd-41fb-9604-4fdbb22d1570"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"e5db43681f6bc1c6707b55c0834bbdad","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"e5db43681f6bc1c6707b55c0834bbdad"} device-1 | {"data":{"peerconnection":"5918525b-326b-4d00-a2d5-f311d3971c4e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5918525b-326b-4d00-a2d5-f311d3971c4e","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/5918525b-326b-4d00-a2d5-f311d3971c4e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5918525b-326b-4d00-a2d5-f311d3971c4e","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":"a633d4a4e75a11b2e20532f0a645f00f","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/25b98857-0acd-41fb-9604-4fdbb22d1570"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5918525b-326b-4d00-a2d5-f311d3971c4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e14a8ad-7f46-4288-a01c-cce8a6a0d48b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.3268006} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.201836,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e","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":"38e17410-3d42-11ef-b841-3faa56dbb9da"},"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/5918525b-326b-4d00-a2d5-f311d3971c4e 200 12ms","method":"GET","requestID":"38e17410-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4b74d4441eb3bfd29ab16239cb05ccbc","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"a633d4a4e75a11b2e20532f0a645f00f","responseTime":43,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.694795,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"a633d4a4e75a11b2e20532f0a645f00f"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454010,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"4b74d4441eb3bfd29ab16239cb05ccbc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78f17fba-3eae-473c-8bf1-c3b136e2d917","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.3631196} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.136565,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38e71960-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling 200 11ms","method":"POST","requestID":"38e71960-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b74d4441eb3bfd29ab16239cb05ccbc"} experiment-1 | {"level":"info","message":"GET /experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b 200 19ms","method":"GET","requestID":"4b74d4441eb3bfd29ab16239cb05ccbc","responseTime":19,"status":200,"url":"/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"63d6cd11f23c689bd243ca2f4120421c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27d152af-b067-46a2-b5a8-52d4138c0ca1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.3782728} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.25163,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","rebac_allow":false,"scope_allow":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":"38e96350-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.703248,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/signaling 200 10ms","method":"POST","requestID":"38e96350-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454010,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8"} 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":"63d6cd11f23c689bd243ca2f4120421c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.733641,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454010,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8"} 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":"38ec7090-3d42-11ef-b841-3faa56dbb9da"},"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/5918525b-326b-4d00-a2d5-f311d3971c4e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5918525b-326b-4d00-a2d5-f311d3971c4e","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":"7108c700407edd05a3c9b651141565c0","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/25b98857-0acd-41fb-9604-4fdbb22d1570"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e"}}},"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":"fa9f3ea486816abf7c897ad8115acfbc","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5918525b-326b-4d00-a2d5-f311d3971c4e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5918525b-326b-4d00-a2d5-f311d3971c4e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"46a529b7-e19a-4fdc-8462-be360e08ab74","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.424944} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f5e3e3a-c977-4ce2-a6ab-c11a87754de7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.4252124} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38ec7090-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"data":{"peerconnection":"5918525b-326b-4d00-a2d5-f311d3971c4e","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/5918525b-326b-4d00-a2d5-f311d3971c4e 204 49ms","method":"DELETE","requestID":"38ec7090-3d42-11ef-b841-3faa56dbb9da","responseTime":49,"status":204,"url":"/peerconnections/5918525b-326b-4d00-a2d5-f311d3971c4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b98857-0acd-41fb-9604-4fdbb22d1570","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29e55709-0745-4cc3-93cb-c5d76630fdeb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.4679594} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.447824,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b98857-0acd-41fb-9604-4fdbb22d1570","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38f6a9c0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling 200 12ms","method":"POST","requestID":"38f6a9c0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/25b98857-0acd-41fb-9604-4fdbb22d1570/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F458c7ecb-8a46-46a2-b9c3-594f1d91038b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F458c7ecb-8a46-46a2-b9c3-594f1d91038b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"dd60f2bc-4a10-4c9e-ade0-243807e294f3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.4768934} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d62d26ab-dfd1-4c8e-a9c7-8f6c7976c9a1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.4769845} 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":"63d6cd11f23c689bd243ca2f4120421c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fd1e367-43fc-48e2-8d32-1b621718d9fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"005c5a88-a4cb-4ebf-9722-cdf4f3dbf4e7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.4801302} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.210327,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38f8f3b0-3d42-11ef-b841-3faa56dbb9da"},"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/2fd1e367-43fc-48e2-8d32-1b621718d9fa/signaling 200 10ms","method":"POST","requestID":"38f8f3b0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63d6cd11f23c689bd243ca2f4120421c"} experiment-1 | {"level":"info","message":"DELETE /experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b 204 173ms","method":"DELETE","requestID":"63d6cd11f23c689bd243ca2f4120421c","responseTime":173,"status":204,"url":"/experiments/458c7ecb-8a46-46a2-b9c3-594f1d91038b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"7108c700407edd05a3c9b651141565c0","responseTime":143,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"7108c700407edd05a3c9b651141565c0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b4a5d9cfac104334bf03b9e5e7c9aa30","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"fa9f3ea486816abf7c897ad8115acfbc","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"fa9f3ea486816abf7c897ad8115acfbc"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +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.996","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"df5c84de8c42b6a6e4851ca664e9dd7e"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2645","request_time":"0.998","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7a783e8541a4b431b670b6bd2874a713"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.829766,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454010,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8"} 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":"b4a5d9cfac104334bf03b9e5e7c9aa30"},"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/25b98857-0acd-41fb-9604-4fdbb22d1570' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2fd1e367-43fc-48e2-8d32-1b621718d9fa' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"74aad13b-6a29-4f88-9c9e-322879163e17","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.5902073} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4a5d9cfac104334bf03b9e5e7c9aa30"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dcce8128-675e-4ecf-b704-64a8f2ea2298","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.5963714} 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":"b4a5d9cfac104334bf03b9e5e7c9aa30"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"a716cd1b-cf28-4755-bb78-8d593813b840","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.6079278} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8eff44c6-657d-42e0-b1dc-08e317d9d90a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.607945} 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":"b4a5d9cfac104334bf03b9e5e7c9aa30"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.607915783Z"}]},"request_id":"94d3c5fe-a659-428f-a929-5d9d9f874b2d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.6121972} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4a5d9cfac104334bf03b9e5e7c9aa30"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4a5d9cfac104334bf03b9e5e7c9aa30"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"b4a5d9cfac104334bf03b9e5e7c9aa30","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba73cf6daf47256bf4ab08ea1766968a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.874398,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454010,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMH0.Wjc2yu8l9bVXgFy6CZ4tToKj-MwBRqJD1FQSQuXv2f8"} 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":"ba73cf6daf47256bf4ab08ea1766968a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a6dea6f3-d43f-4c39-885a-3884ccb6282c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.6411042} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba73cf6daf47256bf4ab08ea1766968a"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"484e4f00-4cf4-42f1-9d90-aec5cd345727","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.6466086} 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":"ba73cf6daf47256bf4ab08ea1766968a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"fbd3b6a1-3f7f-4794-a75b-2e643f3cd334","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.6596873} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a1c9ae4-15ff-4a92-b0a4-538dbb315e93","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.6598938} 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":"ba73cf6daf47256bf4ab08ea1766968a"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.659676333Z"}]},"request_id":"cf9b1fd5-4a6d-41cc-986e-5ddd17f9a508","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454010.6663327} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba73cf6daf47256bf4ab08ea1766968a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba73cf6daf47256bf4ab08ea1766968a"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"ba73cf6daf47256bf4ab08ea1766968a","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMX0.MwJ2zfs9hhDP8IvjMFJclqYSiAQ0HWb3Rna7DUiXxy4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b18cfba0fc01320f51daf8180c8aa2bd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:31Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.093643,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454011,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMX0.MwJ2zfs9hhDP8IvjMFJclqYSiAQ0HWb3Rna7DUiXxy4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b18cfba0fc01320f51daf8180c8aa2bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.659676333Z"}]},"request_id":"83ad07cd-49c8-4de5-a70d-1d60383a0aef","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454011.2807667} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b18cfba0fc01320f51daf8180c8aa2bd"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a73c0af-8431-4063-9047-bfd9d8482aa5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454011.2892625} 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":"b18cfba0fc01320f51daf8180c8aa2bd"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.659676333Z"}]},"request_id":"a9ac3ff4-8788-4034-8297-0243cf8fdca8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454011.315116} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b18cfba0fc01320f51daf8180c8aa2bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/63d565d9-c125-4e7f-804d-830200537cc6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.075","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b18cfba0fc01320f51daf8180c8aa2bd"} device-1 | {"level":"info","message":"PATCH /devices/63d565d9-c125-4e7f-804d-830200537cc6 200 67ms","method":"PATCH","requestID":"b18cfba0fc01320f51daf8180c8aa2bd","responseTime":67,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMX0.MwJ2zfs9hhDP8IvjMFJclqYSiAQ0HWb3Rna7DUiXxy4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d8fda1bcbdf3baa4ddf894c4abaf13f4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:31Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679776,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454011,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMX0.MwJ2zfs9hhDP8IvjMFJclqYSiAQ0HWb3Rna7DUiXxy4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8fda1bcbdf3baa4ddf894c4abaf13f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/63d565d9-c125-4e7f-804d-830200537cc6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d8fda1bcbdf3baa4ddf894c4abaf13f4"} device-1 | {"level":"info","message":"POST /devices/63d565d9-c125-4e7f-804d-830200537cc6/websocket 200 21ms","method":"POST","requestID":"d8fda1bcbdf3baa4ddf894c4abaf13f4","responseTime":21,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6' 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":"2af999f0b15b31926b294a03b65819ef","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:53:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8ee9f743-665d-4100-803b-c969741f2a29/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2af999f0b15b31926b294a03b65819ef"} device-1 | {"level":"info","message":"OPTIONS /devices/8ee9f743-665d-4100-803b-c969741f2a29/websocket 200 2ms","method":"OPTIONS","requestID":"2af999f0b15b31926b294a03b65819ef","responseTime":2,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dff449636087f97066f3aba4cee342bc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167343,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dff449636087f97066f3aba4cee342bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8ee9f743-665d-4100-803b-c969741f2a29/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":"dff449636087f97066f3aba4cee342bc"} device-1 | {"level":"info","message":"POST /devices/8ee9f743-665d-4100-803b-c969741f2a29/websocket 200 23ms","method":"POST","requestID":"dff449636087f97066f3aba4cee342bc","responseTime":23,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b6afeabb55c961d1b64e7044e968de69","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187062,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6afeabb55c961d1b64e7044e968de69"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.607915783Z"}]},"request_id":"f00d131b-0809-4db8-9854-bd0ab8de2b83","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.7377515} 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":"b6afeabb55c961d1b64e7044e968de69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ee9f743-665d-4100-803b-c969741f2a29? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6afeabb55c961d1b64e7044e968de69"} device-1 | {"level":"info","message":"GET /devices/8ee9f743-665d-4100-803b-c969741f2a29? 200 20ms","method":"GET","requestID":"b6afeabb55c961d1b64e7044e968de69","responseTime":20,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9b4e1baf0301637be201b094dfd513d3","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.65589,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4e1baf0301637be201b094dfd513d3"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.659676333Z"}]},"request_id":"7252d80d-d9ee-4e59-9672-97c20c008f5b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.7688537} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4e1baf0301637be201b094dfd513d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/63d565d9-c125-4e7f-804d-830200537cc6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b4e1baf0301637be201b094dfd513d3"} device-1 | {"level":"info","message":"GET /devices/63d565d9-c125-4e7f-804d-830200537cc6? 200 29ms","method":"GET","requestID":"9b4e1baf0301637be201b094dfd513d3","responseTime":29,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a0da62393c0227bf1e30c0652730af4f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.933465,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0da62393c0227bf1e30c0652730af4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"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:57924","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717212,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a63a740-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.578306,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a63f560-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.607915783Z"}]},"request_id":"c3ffd9ad-819f-4848-b49a-40aaf8a75336","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.8625247} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a63a740-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.659676333Z"}]},"request_id":"49c81953-25aa-4bd1-806a-3cade705df06","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.863892} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a63f560-3d42-11ef-b841-3faa56dbb9da"},"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/8ee9f743-665d-4100-803b-c969741f2a29? 200 17ms","method":"GET","requestID":"3a63a740-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/63d565d9-c125-4e7f-804d-830200537cc6? 200 16ms","method":"GET","requestID":"3a63f560-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"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:57924","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.066171,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} 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":"3a6f18f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727278,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a6fdc40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.12348,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e86f603-744b-440d-ba8b-93c517fc9491","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.944523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.607915783Z"}]},"request_id":"74a6eedf-7264-4fd4-8a21-fa9eba8fcfbc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.9454637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.659676333Z"}]},"request_id":"f50a866a-3948-4cfe-bd78-cf31f1c412a9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.9474602} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","rebac_allow":false,"scope_allow":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":"3a705170-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a6f18f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 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":"3a6fdc40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8ee9f743-665d-4100-803b-c969741f2a29/signaling 200 25ms","method":"POST","requestID":"3a705170-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8ee9f743-665d-4100-803b-c969741f2a29? 200 35ms","method":"GET","requestID":"3a6f18f0-3d42-11ef-b841-3faa56dbb9da","responseTime":35,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/63d565d9-c125-4e7f-804d-830200537cc6? 200 32ms","method":"GET","requestID":"3a6fdc40-3d42-11ef-b841-3faa56dbb9da","responseTime":32,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03e55daa-6ffd-4572-8325-fb742048d4a3#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03e55daa-6ffd-4572-8325-fb742048d4a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"14d54499-6154-42d3-b5b6-e6d2b1819a11","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.9655128} 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dc1bfbc-e483-4ed2-a796-84575439200d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.965634} 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":"a0da62393c0227bf1e30c0652730af4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2dcc4468-fee7-47f3-bbd7-c5c504bdf8b6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.9721577} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.892499,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","rebac_allow":false,"scope_allow":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":"3a74e550-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26e400a1-3b42-4ad3-bf16-a111dc8dbbf7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.976241} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.917469,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a75a8a0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/63d565d9-c125-4e7f-804d-830200537cc6/signaling 200 13ms","method":"POST","requestID":"3a74e550-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6/signaling"} gateway-1 | {"time_local":"08/Jul/2024:15:53:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0da62393c0227bf1e30c0652730af4f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 188ms","method":"POST","requestID":"a0da62393c0227bf1e30c0652730af4f","responseTime":188,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8ee9f743-665d-4100-803b-c969741f2a29/signaling 200 12ms","method":"POST","requestID":"3a75a8a0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4","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":"f42c84f908720d4c59144557f02033d9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c79f0c09-3281-49da-8c6a-193ac2546509","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.989652} authorization-1 | {"client_addr":"127.0.0.1:57938","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.793555,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f42c84f908720d4c59144557f02033d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.840083,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a77cb80-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.607915783Z"}]},"request_id":"c8b85bdc-18f7-48d1-8744-10e04d45c306","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454012.9942796} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/63d565d9-c125-4e7f-804d-830200537cc6/signaling 200 11ms","method":"POST","requestID":"3a77cb80-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6/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":"f42c84f908720d4c59144557f02033d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"0c2f75b4-f669-4422-8f55-99aa979e5fc6"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"2d18c340-f62a-4568-80ba-0b902ebb3fdf"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0053b85b-c354-494b-b028-b93e38991b4b"}]},"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/8ee9f743-665d-4100-803b-c969741f2a29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ee9f743-665d-4100-803b-c969741f2a29? 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":"f42c84f908720d4c59144557f02033d9"} device-1 | {"level":"info","message":"GET /devices/8ee9f743-665d-4100-803b-c969741f2a29? 200 15ms","method":"GET","requestID":"f42c84f908720d4c59144557f02033d9","responseTime":15,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:33Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.851399,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454012,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxMn0.1j0T1s2mpe_uxXJ3DFgfa0jVNVRnTmD_uZUoJ08Mza4"} 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":"3a79ee60-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxM30.nQxGvdwaQCftcA2GHUzOJFfJ0uVxIkc2JzO1GM9f-_g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b655aa2f77ddc38b44207d87dde5aee8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:33Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925428,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454013,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxM30.nQxGvdwaQCftcA2GHUzOJFfJ0uVxIkc2JzO1GM9f-_g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b655aa2f77ddc38b44207d87dde5aee8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"403076cd-1120-4fdd-8134-f52ddfa2e4e8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454013.0237348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7aef9d00-3109-4f6c-bacc-1ec227ea4ced","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454013.0240715} 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":"3a79ee60-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:30.659676333Z"}]},"request_id":"30cebad9-aa9c-40fc-bb47-01c350790fe5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454013.0286376} 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":"b655aa2f77ddc38b44207d87dde5aee8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/63d565d9-c125-4e7f-804d-830200537cc6? 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":"b655aa2f77ddc38b44207d87dde5aee8"} device-1 | {"level":"info","message":"GET /devices/63d565d9-c125-4e7f-804d-830200537cc6? 200 31ms","method":"GET","requestID":"b655aa2f77ddc38b44207d87dde5aee8","responseTime":31,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6?"} 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/fba86e91-1d59-4a09-b54f-82baaca6a4b0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0'"} 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":"3a79ee60-3d42-11ef-b841-3faa56dbb9da","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/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:33Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8d50652-d482-4375-9bbf-fae4fbecaf18","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454013.081333} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.065336,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","rebac_allow":false,"scope_allow":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":"3a858720-3d42-11ef-b841-3faa56dbb9da"},"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/8ee9f743-665d-4100-803b-c969741f2a29/signaling 200 12ms","method":"POST","requestID":"3a858720-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:33Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d6625cb-2f7a-4356-b3ab-54529026d520","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454013.0929203} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.209851,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","rebac_allow":false,"scope_allow":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":"3a87aa00-3d42-11ef-b841-3faa56dbb9da"},"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/63d565d9-c125-4e7f-804d-830200537cc6/signaling 200 9ms","method":"POST","requestID":"3a87aa00-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6/signaling"} device-1 | {"data":{"peerconnection":"fba86e91-1d59-4a09-b54f-82baaca6a4b0","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/fba86e91-1d59-4a09-b54f-82baaca6a4b0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fba86e91-1d59-4a09-b54f-82baaca6a4b0","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/8ee9f743-665d-4100-803b-c969741f2a29'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"aaf13498994f0177b3aa42583132951e","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/8ee9f743-665d-4100-803b-c969741f2a29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"aaf13498994f0177b3aa42583132951e","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"aaf13498994f0177b3aa42583132951e"} device-1 | {"data":{"peerconnection":"fba86e91-1d59-4a09-b54f-82baaca6a4b0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"fba86e91-1d59-4a09-b54f-82baaca6a4b0","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/fba86e91-1d59-4a09-b54f-82baaca6a4b0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fba86e91-1d59-4a09-b54f-82baaca6a4b0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aab529e7c01efe753d3948953bd48e57","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffba86e91-1d59-4a09-b54f-82baaca6a4b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfb76d22-2e44-4849-a132-a23b68151905","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.2547622} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.131165,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3bd0cbd0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0 200 17ms","method":"GET","requestID":"3bd0cbd0-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 61ms","method":"POST","requestID":"aab529e7c01efe753d3948953bd48e57","responseTime":61,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch","requestID":"aab529e7c01efe753d3948953bd48e57"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"862dbd05-8a2e-434a-8f36-7ea383ce3355","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.3041613} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.831265,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","rebac_allow":false,"scope_allow":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":"3bd89400-3d42-11ef-b841-3faa56dbb9da"},"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/8ee9f743-665d-4100-803b-c969741f2a29/signaling 200 17ms","method":"POST","requestID":"3bd89400-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNX0.6dhlv2SshS4K9Qx3tg280gNR4z5w_Wg7SJr5CtVPGcU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"ee25f64f04161867f44fc04bccbb825e","responseTime":10,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"108171f1-c1eb-47ae-9d66-57068ade2748","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.3242486} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.150096,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3bdba140-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.848987,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454015,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNX0.6dhlv2SshS4K9Qx3tg280gNR4z5w_Wg7SJr5CtVPGcU"} device-1 | {"level":"info","message":"POST /devices/63d565d9-c125-4e7f-804d-830200537cc6/signaling 200 16ms","method":"POST","requestID":"3bdba140-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"ee25f64f04161867f44fc04bccbb825e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"} gateway-1 | {"time_local":"08/Jul/2024:15:53:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/03e55daa-6ffd-4572-8325-fb742048d4a3 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee25f64f04161867f44fc04bccbb825e"} experiment-1 | {"level":"info","message":"GET /experiments/03e55daa-6ffd-4572-8325-fb742048d4a3 200 26ms","method":"GET","requestID":"ee25f64f04161867f44fc04bccbb825e","responseTime":26,"status":200,"url":"/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNX0.6dhlv2SshS4K9Qx3tg280gNR4z5w_Wg7SJr5CtVPGcU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bd6b4f723654a015daf8598e5365db8f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.293187,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454015,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNX0.6dhlv2SshS4K9Qx3tg280gNR4z5w_Wg7SJr5CtVPGcU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd6b4f723654a015daf8598e5365db8f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.350386,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454015,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNX0.6dhlv2SshS4K9Qx3tg280gNR4z5w_Wg7SJr5CtVPGcU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3be56540-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fba86e91-1d59-4a09-b54f-82baaca6a4b0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4f18529660cb78c6703e059220079738","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffba86e91-1d59-4a09-b54f-82baaca6a4b0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffba86e91-1d59-4a09-b54f-82baaca6a4b0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"16ab82b0-3239-47ff-9d65-c0f37e0d5b27","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.4150918} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84f73cc0-42a9-4c29-9d24-05e5c657897a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.4155734} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/8ee9f743-665d-4100-803b-c969741f2a29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1c65be12d29ecb1c747b13696876db97","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3be56540-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} 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/8ee9f743-665d-4100-803b-c969741f2a29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"fba86e91-1d59-4a09-b54f-82baaca6a4b0","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/fba86e91-1d59-4a09-b54f-82baaca6a4b0 204 59ms","method":"DELETE","requestID":"3be56540-3d42-11ef-b841-3faa56dbb9da","responseTime":59,"status":204,"url":"/peerconnections/fba86e91-1d59-4a09-b54f-82baaca6a4b0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ee9f743-665d-4100-803b-c969741f2a29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30ad500f-330e-4144-a7b6-14fbab5b9500","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.4759593} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.111121,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ee9f743-665d-4100-803b-c969741f2a29","object_type":"device","rebac_allow":false,"scope_allow":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":"3bf2abb0-3d42-11ef-b841-3faa56dbb9da"},"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/8ee9f743-665d-4100-803b-c969741f2a29/signaling 200 17ms","method":"POST","requestID":"3bf2abb0-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/8ee9f743-665d-4100-803b-c969741f2a29/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66f33689-548c-4002-9db0-92cc2e5efdc3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.4848514} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03e55daa-6ffd-4572-8325-fb742048d4a3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03e55daa-6ffd-4572-8325-fb742048d4a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"2abbd8d5-3782-4e1e-a8ec-1374e1d8ff62","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.4843285} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd6b4f723654a015daf8598e5365db8f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63d565d9-c125-4e7f-804d-830200537cc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2dd8132b-6548-43a2-8880-ed78c894686b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.497623} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.166162,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6","object_type":"device","rebac_allow":false,"scope_allow":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":"3bf5e000-3d42-11ef-b841-3faa56dbb9da"},"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/63d565d9-c125-4e7f-804d-830200537cc6/signaling 200 18ms","method":"POST","requestID":"3bf5e000-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/63d565d9-c125-4e7f-804d-830200537cc6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"} gateway-1 | {"time_local":"08/Jul/2024:15:53:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/03e55daa-6ffd-4572-8325-fb742048d4a3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.213","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd6b4f723654a015daf8598e5365db8f"} gateway-1 | {"time_local":"08/Jul/2024:15:53:35 +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.213","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"49a259ffab51501b2dd9f48545b9fb6c"} experiment-1 | {"level":"info","message":"DELETE /experiments/03e55daa-6ffd-4572-8325-fb742048d4a3 204 209ms","method":"DELETE","requestID":"bd6b4f723654a015daf8598e5365db8f","responseTime":209,"status":204,"url":"/experiments/03e55daa-6ffd-4572-8325-fb742048d4a3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"4f18529660cb78c6703e059220079738","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"4f18529660cb78c6703e059220079738"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"1c65be12d29ecb1c747b13696876db97","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"1c65be12d29ecb1c747b13696876db97"} gateway-1 | {"time_local":"08/Jul/2024:15:53:35 +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.879","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c0d438e2e169669e3f7c2ce887259516"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNX0.6dhlv2SshS4K9Qx3tg280gNR4z5w_Wg7SJr5CtVPGcU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"7d2a68b7b379ea48666374dee4d94e5b","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/63d565d9-c125-4e7f-804d-830200537cc6' closed"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.857782,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454015,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNX0.6dhlv2SshS4K9Qx3tg280gNR4z5w_Wg7SJr5CtVPGcU"} 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":"7d2a68b7b379ea48666374dee4d94e5b"},"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/8ee9f743-665d-4100-803b-c969741f2a29' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"acad91b2-06af-40a0-ba05-796c0704ad46","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.602969} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d2a68b7b379ea48666374dee4d94e5b"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89971e5a-be6d-4220-aa81-5a288aa290e8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.6095004} 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":"7d2a68b7b379ea48666374dee4d94e5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"ecab18b2-843f-43e7-8a54-acae96fcafbe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.6190498} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d42d0874-4f85-44d4-9953-1a2e9c135a80","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.6192625} 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":"7d2a68b7b379ea48666374dee4d94e5b"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.619036997Z"}]},"request_id":"9a1d0f2a-b346-4c5e-a17f-27c9ada65ce8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.6244533} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d2a68b7b379ea48666374dee4d94e5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d2a68b7b379ea48666374dee4d94e5b"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"7d2a68b7b379ea48666374dee4d94e5b","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNX0.6dhlv2SshS4K9Qx3tg280gNR4z5w_Wg7SJr5CtVPGcU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7dde28272c6365fc66da1a6b9d025bd7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.362278,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454015,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNX0.6dhlv2SshS4K9Qx3tg280gNR4z5w_Wg7SJr5CtVPGcU"} 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":"7dde28272c6365fc66da1a6b9d025bd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f6a447d7-a9e9-485a-a4fc-09ac74f4a0a2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.6511476} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7dde28272c6365fc66da1a6b9d025bd7"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a897b0c-43eb-4b7c-b799-1d37775a3897","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.6561835} 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":"7dde28272c6365fc66da1a6b9d025bd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"78461c8f-0cf0-4ec7-8e9b-b051042356a8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.673539} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a06d09d-e2f9-475c-8cd6-1e1bab5f57fe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.6737232} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7dde28272c6365fc66da1a6b9d025bd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.673519772Z"}]},"request_id":"afd9e1e0-d66b-443e-a1ae-bb846a7b8ba7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454015.6792073} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7dde28272c6365fc66da1a6b9d025bd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"7dde28272c6365fc66da1a6b9d025bd7","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7dde28272c6365fc66da1a6b9d025bd7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNn0.afLkB4wyZ-Q0EvLVOjcTqVYHuaHOtkW9RMXKKji9Ljc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0fba0c8f03a62042504dfd3b52b9cacd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643573,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454016,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNn0.afLkB4wyZ-Q0EvLVOjcTqVYHuaHOtkW9RMXKKji9Ljc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fba0c8f03a62042504dfd3b52b9cacd"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.619036997Z"}]},"request_id":"1a6d3ca1-c97e-45bd-911b-0b9991c6b80d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454016.1779675} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fba0c8f03a62042504dfd3b52b9cacd"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"695ceb53-dbb7-4955-a9d3-7d3f4bf7b268","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454016.1874032} 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":"0fba0c8f03a62042504dfd3b52b9cacd"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.619036997Z"}]},"request_id":"c11c1701-8934-4562-86fd-ea781080d4e5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454016.202352} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fba0c8f03a62042504dfd3b52b9cacd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/46951ab3-ae47-44ec-8b7a-b239585bb003 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":"0fba0c8f03a62042504dfd3b52b9cacd"} device-1 | {"level":"info","message":"PATCH /devices/46951ab3-ae47-44ec-8b7a-b239585bb003 200 46ms","method":"PATCH","requestID":"0fba0c8f03a62042504dfd3b52b9cacd","responseTime":46,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNn0.afLkB4wyZ-Q0EvLVOjcTqVYHuaHOtkW9RMXKKji9Ljc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"78250a097c1d81127897eb0df33bd385","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.296045,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454016,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxNn0.afLkB4wyZ-Q0EvLVOjcTqVYHuaHOtkW9RMXKKji9Ljc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78250a097c1d81127897eb0df33bd385"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/46951ab3-ae47-44ec-8b7a-b239585bb003/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"78250a097c1d81127897eb0df33bd385"} device-1 | {"level":"info","message":"POST /devices/46951ab3-ae47-44ec-8b7a-b239585bb003/websocket 200 24ms","method":"POST","requestID":"78250a097c1d81127897eb0df33bd385","responseTime":24,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003' 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":"7e965af9bd3d072391caecc6266066a6","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:53:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d5377130-a0fc-4812-baad-e8554b04bfac/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7e965af9bd3d072391caecc6266066a6"} device-1 | {"level":"info","message":"OPTIONS /devices/d5377130-a0fc-4812-baad-e8554b04bfac/websocket 200 1ms","method":"OPTIONS","requestID":"7e965af9bd3d072391caecc6266066a6","responseTime":1,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e63d18ca79c18fe9939aa2d67ffdb45a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.307674,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454017,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e63d18ca79c18fe9939aa2d67ffdb45a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/d5377130-a0fc-4812-baad-e8554b04bfac/websocket 200 25ms","method":"POST","requestID":"e63d18ca79c18fe9939aa2d67ffdb45a","responseTime":25,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:53:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d5377130-a0fc-4812-baad-e8554b04bfac/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":"e63d18ca79c18fe9939aa2d67ffdb45a"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"830ae11fe311311f70b8e94077ca06cc","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.734933,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454017,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg"} 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":"830ae11fe311311f70b8e94077ca06cc"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.619036997Z"}]},"request_id":"6336a2c7-5903-4838-830d-70de689d007a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454017.7655349} 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":"830ae11fe311311f70b8e94077ca06cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/46951ab3-ae47-44ec-8b7a-b239585bb003? 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":"830ae11fe311311f70b8e94077ca06cc"} device-1 | {"level":"info","message":"GET /devices/46951ab3-ae47-44ec-8b7a-b239585bb003? 200 21ms","method":"GET","requestID":"830ae11fe311311f70b8e94077ca06cc","responseTime":21,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"869378dcd4aad135ba8f8b68bd6cbf94","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.353306,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454017,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"869378dcd4aad135ba8f8b68bd6cbf94"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.673519772Z"}]},"request_id":"67f338ee-0d96-4aef-aeaf-64d6ab62ced3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454017.7953029} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"869378dcd4aad135ba8f8b68bd6cbf94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d5377130-a0fc-4812-baad-e8554b04bfac? 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":"869378dcd4aad135ba8f8b68bd6cbf94"} device-1 | {"level":"info","message":"GET /devices/d5377130-a0fc-4812-baad-e8554b04bfac? 200 21ms","method":"GET","requestID":"869378dcd4aad135ba8f8b68bd6cbf94","responseTime":21,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"88f65bf8b12eea3d5dbada939e92c358","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.217353,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454017,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg"} 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":"88f65bf8b12eea3d5dbada939e92c358"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"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:57924","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937731,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454017,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d606c80-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.553594,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454017,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg"} 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":"3d60baa0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.619036997Z"}]},"request_id":"d650c45e-7700-4d0f-bb88-cf12fdfa8fc7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454017.8741412} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d606c80-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.673519772Z"}]},"request_id":"5332756d-b7bc-4b8e-b042-eaa0f0b3f9d5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454017.8777978} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d60baa0-3d42-11ef-b841-3faa56dbb9da"},"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/46951ab3-ae47-44ec-8b7a-b239585bb003? 200 21ms","method":"GET","requestID":"3d606c80-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d5377130-a0fc-4812-baad-e8554b04bfac? 200 23ms","method":"GET","requestID":"3d60baa0-3d42-11ef-b841-3faa56dbb9da","responseTime":23,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"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/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.429672,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454017,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg"} 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":"3d726de0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.44288,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454017,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg"} 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":"3d72bc00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.779181,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:37Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb0a06db-1fea-43df-8948-1b78ab5da237","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454017.9979477} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","rebac_allow":false,"scope_allow":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":"3d733130-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.673519772Z"}]},"request_id":"b2a25684-e281-4cb1-950b-7d2a71370491","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.0031564} 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":"3d72bc00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.619036997Z"}]},"request_id":"c54545f0-c894-475b-8a37-50b4dbb26e45","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.0073915} device-1 | {"level":"info","message":"POST /devices/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling 200 22ms","method":"POST","requestID":"3d733130-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d726de0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba7ac0ca-908b-4122-93f8-b235b45ddb62#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba7ac0ca-908b-4122-93f8-b235b45ddb62","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"890e9f91-5309-497c-b732-e48af28d5b37","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.014929} 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8755206b-9644-4458-8f0c-56d6935465db","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.015433} 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":"88f65bf8b12eea3d5dbada939e92c358"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d5377130-a0fc-4812-baad-e8554b04bfac? 200 37ms","method":"GET","requestID":"3d72bc00-3d42-11ef-b841-3faa56dbb9da","responseTime":37,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:38Z"} device-1 | {"level":"info","message":"GET /devices/46951ab3-ae47-44ec-8b7a-b239585bb003? 200 40ms","method":"GET","requestID":"3d726de0-3d42-11ef-b841-3faa56dbb9da","responseTime":40,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a190851-ecf4-4777-a9ab-626bf990e441","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.0230293} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.395943,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d7776f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:38Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/d5377130-a0fc-4812-baad-e8554b04bfac/signaling 200 20ms","method":"POST","requestID":"3d7776f0-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac/signaling"} gateway-1 | {"time_local":"08/Jul/2024:15:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.231","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88f65bf8b12eea3d5dbada939e92c358"} experiment-1 | {"level":"info","message":"POST /experiments? 201 222ms","method":"POST","requestID":"88f65bf8b12eea3d5dbada939e92c358","responseTime":222,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6d5e254-03d8-408b-9eb3-9efdead466de","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.038053} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.487974,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","rebac_allow":false,"scope_allow":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":"3d7999d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxOH0.SkdmhsAXu9BiJGRO4xUTTj3mG7QY-4ujTenQ-2wgM9U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2cd02430982064eac6eec2a9c0ba2a62","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling 200 16ms","method":"POST","requestID":"3d7999d0-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944084,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454018,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxOH0.SkdmhsAXu9BiJGRO4xUTTj3mG7QY-4ujTenQ-2wgM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cd02430982064eac6eec2a9c0ba2a62"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ca451e2-a3a5-463e-aea4-d5492367c56c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.054086} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.876831,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d7ca710-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.619036997Z"}]},"request_id":"5d971f3b-fb52-4d11-a6f1-11953d14411e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.0584652} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d5377130-a0fc-4812-baad-e8554b04bfac/signaling 200 10ms","method":"POST","requestID":"3d7ca710-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac/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":"2cd02430982064eac6eec2a9c0ba2a62"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"6a5d6650-2619-4dad-a1a5-ee09aa30ae58"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"4c3fc5aa-2324-4087-81dd-a6c5c3c6b4de"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5925c83d-cf73-493e-bcb7-045f0350eee0"}]},"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/46951ab3-ae47-44ec-8b7a-b239585bb003"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/46951ab3-ae47-44ec-8b7a-b239585bb003? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cd02430982064eac6eec2a9c0ba2a62"} device-1 | {"level":"info","message":"GET /devices/46951ab3-ae47-44ec-8b7a-b239585bb003? 200 20ms","method":"GET","requestID":"2cd02430982064eac6eec2a9c0ba2a62","responseTime":20,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.241362,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454017,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxN30.3P3eorUpGPEhAgy3diWw4rylqYtijR0NXaQcOjXTPdg"} 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":"3d7ef100-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxOH0.SkdmhsAXu9BiJGRO4xUTTj3mG7QY-4ujTenQ-2wgM9U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5de98868c3d0fb95347f97b342370a36","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.296905,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454018,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAxOH0.SkdmhsAXu9BiJGRO4xUTTj3mG7QY-4ujTenQ-2wgM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5de98868c3d0fb95347f97b342370a36"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"719bcaa0-35cc-457b-86f0-3381d2d95844","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.0847418} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b4bf247-dff5-4c6a-b028-55f934f374b1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.085108} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:35.673519772Z"}]},"request_id":"a98b4b4e-5dc2-4e87-b7db-7206d7130a6f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.0861511} 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":"3d7ef100-3d42-11ef-b841-3faa56dbb9da"},"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 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":"5de98868c3d0fb95347f97b342370a36"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d5377130-a0fc-4812-baad-e8554b04bfac? 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":"5de98868c3d0fb95347f97b342370a36"} device-1 | {"level":"info","message":"GET /devices/d5377130-a0fc-4812-baad-e8554b04bfac? 200 22ms","method":"GET","requestID":"5de98868c3d0fb95347f97b342370a36","responseTime":22,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac?"} 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/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533'"} 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":"3d7ef100-3d42-11ef-b841-3faa56dbb9da","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/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f0d1324-5bf6-4d0d-934d-13d89b92c20a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.1540835} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.483721,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d8be950-3d42-11ef-b841-3faa56dbb9da"},"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/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling 200 11ms","method":"POST","requestID":"3d8be950-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3507f000-92d7-4e3e-ab06-5137c6dbb331","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454018.1689918} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448231,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d8e3340-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d5377130-a0fc-4812-baad-e8554b04bfac/signaling 200 9ms","method":"POST","requestID":"3d8e3340-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac/signaling"} device-1 | {"data":{"peerconnection":"6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","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/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","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":"a716fee3b66ec17d9b98dea2e6894c45","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/46951ab3-ae47-44ec-8b7a-b239585bb003"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"a716fee3b66ec17d9b98dea2e6894c45","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"a716fee3b66ec17d9b98dea2e6894c45"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac'"} device-1 | {"data":{"peerconnection":"6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","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/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","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":"88053df19b4c013d8c8bef729e95732f","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/46951ab3-ae47-44ec-8b7a-b239585bb003"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56c338c4-f885-4ac8-b321-1309e0cbbd69","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.2835045} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.748753,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","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":"3ed0c560-3d42-11ef-b841-3faa56dbb9da"},"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/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533 200 9ms","method":"GET","requestID":"3ed0c560-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"88053df19b4c013d8c8bef729e95732f","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"88053df19b4c013d8c8bef729e95732f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3860251-636e-4a4a-afec-97b009078aff","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.3106725} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.874885,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ed50b20-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling 200 9ms","method":"POST","requestID":"3ed50b20-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6db1d6f8-3cb3-4a81-92c8-c9bc70a77133","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.322421} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.297877,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ed6b8d0-3d42-11ef-b841-3faa56dbb9da"},"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/d5377130-a0fc-4812-baad-e8554b04bfac/signaling 200 10ms","method":"POST","requestID":"3ed6b8d0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMH0._qDGW1-e6hSgPGIzSLRqWVRsLLr_VK355TTxnRKsDkA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"89c648bfa4b5fce669e791381de563c9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.94346,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454020,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMH0._qDGW1-e6hSgPGIzSLRqWVRsLLr_VK355TTxnRKsDkA"} 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":"89c648bfa4b5fce669e791381de563c9"},"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/ba7ac0ca-908b-4122-93f8-b235b45ddb62"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89c648bfa4b5fce669e791381de563c9"} experiment-1 | {"level":"info","message":"GET /experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62 200 17ms","method":"GET","requestID":"89c648bfa4b5fce669e791381de563c9","responseTime":17,"status":200,"url":"/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMH0._qDGW1-e6hSgPGIzSLRqWVRsLLr_VK355TTxnRKsDkA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c472e12ab67029825eec73d59503aba1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.744966,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454020,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMH0._qDGW1-e6hSgPGIzSLRqWVRsLLr_VK355TTxnRKsDkA"} 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":"c472e12ab67029825eec73d59503aba1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.98701,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454020,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMH0._qDGW1-e6hSgPGIzSLRqWVRsLLr_VK355TTxnRKsDkA"} 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":"3ee3ff40-3d42-11ef-b841-3faa56dbb9da"},"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/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"1a06aba5-eb35-470c-b80c-86040b8bf611","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.4223504} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec3ec47c-8159-403d-99fc-e2782f213110","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.422634} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e809b5b2515db23cd688450eb7d38736","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 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":"3ee3ff40-3d42-11ef-b841-3faa56dbb9da"},"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":"03a2fe1ff882f52f9332e8689106d1c6","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/46951ab3-ae47-44ec-8b7a-b239585bb003"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533 204 39ms","method":"DELETE","requestID":"3ee3ff40-3d42-11ef-b841-3faa56dbb9da","responseTime":39,"status":204,"url":"/peerconnections/6b5ae7a6-d3bf-4004-95d1-b9d9fb48d533"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46951ab3-ae47-44ec-8b7a-b239585bb003","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dde4121b-21e3-4b1c-8971-9615f92dc036","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.464546} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.42571,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3eec63b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling 200 10ms","method":"POST","requestID":"3eec63b0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/46951ab3-ae47-44ec-8b7a-b239585bb003/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba7ac0ca-908b-4122-93f8-b235b45ddb62': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba7ac0ca-908b-4122-93f8-b235b45ddb62","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"cf079930-d0e4-436d-9f97-0f570cb34795","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.4714215} 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e003329-6c53-4036-8370-c6adf01134de","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.472261} 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":"c472e12ab67029825eec73d59503aba1"},"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:57924","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5377130-a0fc-4812-baad-e8554b04bfac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e948d43-2718-44e7-bd5f-08791dbd979f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.47707} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.426908,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5377130-a0fc-4812-baad-e8554b04bfac","object_type":"device","rebac_allow":false,"scope_allow":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":"3eee5f80-3d42-11ef-b841-3faa56dbb9da"},"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/d5377130-a0fc-4812-baad-e8554b04bfac/signaling 200 10ms","method":"POST","requestID":"3eee5f80-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/d5377130-a0fc-4812-baad-e8554b04bfac/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c472e12ab67029825eec73d59503aba1"} experiment-1 | {"level":"info","message":"DELETE /experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62 204 144ms","method":"DELETE","requestID":"c472e12ab67029825eec73d59503aba1","responseTime":144,"status":204,"url":"/experiments/ba7ac0ca-908b-4122-93f8-b235b45ddb62"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2989","request_time":"4.294","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3ca85092f5e3b45f4b4b8a28431ecfbd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"e809b5b2515db23cd688450eb7d38736","responseTime":112,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"e809b5b2515db23cd688450eb7d38736"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"03a2fe1ff882f52f9332e8689106d1c6","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"03a2fe1ff882f52f9332e8689106d1c6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMH0._qDGW1-e6hSgPGIzSLRqWVRsLLr_VK355TTxnRKsDkA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"d2fa7524fe812f9714e5c8d09374afcf","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2505","request_time":"2.824","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"823043a2921d8d4e49ea6a1bcf950a6f"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/46951ab3-ae47-44ec-8b7a-b239585bb003' closed"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.88722,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454020,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMH0._qDGW1-e6hSgPGIzSLRqWVRsLLr_VK355TTxnRKsDkA"} 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":"d2fa7524fe812f9714e5c8d09374afcf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f3aa7246-7aed-4648-b34a-314e4309edf4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.5578852} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2fa7524fe812f9714e5c8d09374afcf"},"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/d5377130-a0fc-4812-baad-e8554b04bfac' 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d5fd964-6df3-407a-b8d7-ab01abb69339","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.564364} 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":"d2fa7524fe812f9714e5c8d09374afcf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"e602de5a-32f5-41ef-97ab-d8b55383f6c3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.5740454} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67c3dc5c-fa50-492a-9282-b53e6952f32b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.5743613} 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":"d2fa7524fe812f9714e5c8d09374afcf"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.574028792Z"}]},"request_id":"0e704718-b7c8-45cd-b609-d16d832825dd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.5796425} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2fa7524fe812f9714e5c8d09374afcf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +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":"d2fa7524fe812f9714e5c8d09374afcf"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"d2fa7524fe812f9714e5c8d09374afcf","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMH0._qDGW1-e6hSgPGIzSLRqWVRsLLr_VK355TTxnRKsDkA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cff3f36fa06e1abb23fb42c21ecb1999","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.961187,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454020,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMH0._qDGW1-e6hSgPGIzSLRqWVRsLLr_VK355TTxnRKsDkA"} 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":"cff3f36fa06e1abb23fb42c21ecb1999"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"601fbc8c-2f84-4ec2-bbb0-cf12c4c00441","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.6092772} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cff3f36fa06e1abb23fb42c21ecb1999"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e382c12-b55b-4b8e-abcf-444c85275009","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.6148465} 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":"cff3f36fa06e1abb23fb42c21ecb1999"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"7f99d746-b669-4e82-a8ea-cee31abd4cdf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.625982} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"358fc152-c77d-4eb9-9569-8cc9384cbf9f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.626129} 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":"cff3f36fa06e1abb23fb42c21ecb1999"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.625969606Z"}]},"request_id":"d92c25b1-821c-4481-957f-b29efbae08cb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454020.633797} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cff3f36fa06e1abb23fb42c21ecb1999"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:40 +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":"cff3f36fa06e1abb23fb42c21ecb1999"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"cff3f36fa06e1abb23fb42c21ecb1999","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f393aef0d633a6861d069261f784a50b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671138,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f393aef0d633a6861d069261f784a50b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8","level":"info","message":"auth send jwt"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.625969606Z"}]},"request_id":"bf2384bb-8bc7-4afa-a1d3-7ef0ffde58eb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.136399} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"057c96d022e67e7426050b33621dcf22","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f393aef0d633a6861d069261f784a50b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901132,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} 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":"057c96d022e67e7426050b33621dcf22"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acc59b7e-e32c-4e2c-9950-9897ec6250c2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.1445243} 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":"f393aef0d633a6861d069261f784a50b"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.625969606Z"}]},"request_id":"7fca8f02-0039-41b1-8b5a-0364a970f42d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.1558468} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f393aef0d633a6861d069261f784a50b"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.574028792Z"}]},"request_id":"afadbfab-12c2-4094-9699-ed55889e9071","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.1583724} device-1 | {"level":"info","message":"patchDevicesByDeviceId 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":"057c96d022e67e7426050b33621dcf22"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"PATCH /devices/730a514e-50ad-46df-a644-f01e65cce3a7 200 37ms","method":"PATCH","requestID":"f393aef0d633a6861d069261f784a50b","responseTime":37,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7"} gateway-1 | {"time_local":"08/Jul/2024:15:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/730a514e-50ad-46df-a644-f01e65cce3a7 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f393aef0d633a6861d069261f784a50b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4181321318b4d53935947be890390487","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64918a9b-17b6-4b4b-9107-e63215b9b102","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.1647472} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"057c96d022e67e7426050b33621dcf22"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.015352,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4181321318b4d53935947be890390487"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.574028792Z"}]},"request_id":"044503ac-d69a-4acd-bb42-0a831dd7dc5e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.1742475} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"057c96d022e67e7426050b33621dcf22"},"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/0249a37a-886c-455f-84da-9c85a8c2065c 200 40ms","method":"PATCH","requestID":"057c96d022e67e7426050b33621dcf22","responseTime":40,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c"} gateway-1 | {"time_local":"08/Jul/2024:15:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0249a37a-886c-455f-84da-9c85a8c2065c 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":"057c96d022e67e7426050b33621dcf22"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3eeea292e5c9ee8f41538a6af2663899","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/Jul/2024:15:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/730a514e-50ad-46df-a644-f01e65cce3a7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4181321318b4d53935947be890390487"} device-1 | {"level":"info","message":"POST /devices/730a514e-50ad-46df-a644-f01e65cce3a7/websocket 200 18ms","method":"POST","requestID":"4181321318b4d53935947be890390487","responseTime":18,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7/websocket"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739639,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3eeea292e5c9ee8f41538a6af2663899"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0249a37a-886c-455f-84da-9c85a8c2065c/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":"3eeea292e5c9ee8f41538a6af2663899"} device-1 | {"level":"info","message":"POST /devices/0249a37a-886c-455f-84da-9c85a8c2065c/websocket 200 10ms","method":"POST","requestID":"3eeea292e5c9ee8f41538a6af2663899","responseTime":10,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"741921ca34156f36f192d7638d766af4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666466,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"741921ca34156f36f192d7638d766af4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.574028792Z"}]},"request_id":"5cec6e49-a3ed-466d-a43f-29fecd505330","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.2285564} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"741921ca34156f36f192d7638d766af4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0249a37a-886c-455f-84da-9c85a8c2065c? 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":"741921ca34156f36f192d7638d766af4"} device-1 | {"level":"info","message":"GET /devices/0249a37a-886c-455f-84da-9c85a8c2065c? 200 12ms","method":"GET","requestID":"741921ca34156f36f192d7638d766af4","responseTime":12,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"71a3ac5167a3f3737bf4a9090a883af0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7522,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71a3ac5167a3f3737bf4a9090a883af0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.625969606Z"}]},"request_id":"43d3eda3-c14f-4a05-90dc-e77a4e4f4693","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.2468941} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71a3ac5167a3f3737bf4a9090a883af0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/730a514e-50ad-46df-a644-f01e65cce3a7? 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":"71a3ac5167a3f3737bf4a9090a883af0"} device-1 | {"level":"info","message":"GET /devices/730a514e-50ad-46df-a644-f01e65cce3a7? 200 14ms","method":"GET","requestID":"71a3ac5167a3f3737bf4a9090a883af0","responseTime":14,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"001207bbb0717f6886f8de5c1ef3647b","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:57924","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.034696,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} 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":"001207bbb0717f6886f8de5c1ef3647b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"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:57924","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215907,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} 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":"3f6dc8b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249081,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} 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":"3f6e3de0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.574028792Z"}]},"request_id":"c7725205-5444-425a-b50b-9ea583c5d587","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.3277953} 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":"3f6dc8b0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.625969606Z"}]},"request_id":"6f2c354f-9cea-4c9d-8dd8-231139d93d26","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.3300374} 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":"3f6e3de0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0249a37a-886c-455f-84da-9c85a8c2065c? 200 31ms","method":"GET","requestID":"3f6dc8b0-3d42-11ef-b841-3faa56dbb9da","responseTime":31,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/730a514e-50ad-46df-a644-f01e65cce3a7? 200 31ms","method":"GET","requestID":"3f6e3de0-3d42-11ef-b841-3faa56dbb9da","responseTime":31,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"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/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.630204,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} 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":"3f7d8020-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.453396,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} 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":"3f7dce40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.235484,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7688b1ea-78b0-4412-aa9d-027d4f6542e3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.426619} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f7e4370-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0249a37a-886c-455f-84da-9c85a8c2065c/signaling 200 24ms","method":"POST","requestID":"3f7e4370-3d42-11ef-b841-3faa56dbb9da","responseTime":24,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.574028792Z"}]},"request_id":"b66934fc-7acc-49a2-997f-210b4bf5f58d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.4324524} 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":"3f7d8020-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.625969606Z"}]},"request_id":"92601f2a-9790-402e-afa3-0296e8ec27cc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.4395876} 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":"3f7dce40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0249a37a-886c-455f-84da-9c85a8c2065c? 200 42ms","method":"GET","requestID":"3f7d8020-3d42-11ef-b841-3faa56dbb9da","responseTime":42,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/730a514e-50ad-46df-a644-f01e65cce3a7? 200 42ms","method":"GET","requestID":"3f7dce40-3d42-11ef-b841-3faa56dbb9da","responseTime":42,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.961357,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f87035d3-b7d9-4baa-8cd1-bce3dac571d8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.451503} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","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 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":"3f82b040-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d7e7eb4-ce24-42d8-b947-7800ec46b293#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d7e7eb4-ce24-42d8-b947-7800ec46b293","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"43d7ce91-7443-4061-94bf-a0914ef01cbc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.4558973} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8f9915d-e51f-4860-8679-498489cd5622","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.456183} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/730a514e-50ad-46df-a644-f01e65cce3a7/signaling 200 17ms","method":"POST","requestID":"3f82b040-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"001207bbb0717f6886f8de5c1ef3647b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa94023e-f65d-46ab-ba0d-69e2e4cd0888","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.468401} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.894821,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 214ms","method":"POST","requestID":"001207bbb0717f6886f8de5c1ef3647b","responseTime":214,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/Jul/2024:15:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.219","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"001207bbb0717f6886f8de5c1ef3647b"} 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":"3f848500-3d42-11ef-b841-3faa56dbb9da"},"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/0249a37a-886c-455f-84da-9c85a8c2065c/signaling 200 22ms","method":"POST","requestID":"3f848500-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"99921eec4b144cd9a6adaaf192e5309c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79505,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.707545,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61796001-326a-49f4-adba-81dc66312fa4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.4963522} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99921eec4b144cd9a6adaaf192e5309c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","rebac_allow":false,"scope_allow":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":"3f885590-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.574028792Z"}]},"request_id":"39b96c44-de91-44f3-969d-9b600d45ae5d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.502354} device-1 | {"level":"info","message":"POST /devices/730a514e-50ad-46df-a644-f01e65cce3a7/signaling 200 21ms","method":"POST","requestID":"3f885590-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"3470a0dc-26bd-4bcb-a979-0e28a11187e0"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"53058289-1184-4be3-b575-e8e2081476e3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"12549d7f-460c-497a-be09-775b635b91bd"}]},"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/0249a37a-886c-455f-84da-9c85a8c2065c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99921eec4b144cd9a6adaaf192e5309c"},"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:57924","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.727879,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0249a37a-886c-455f-84da-9c85a8c2065c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99921eec4b144cd9a6adaaf192e5309c"} 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":"3f8c2620-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/0249a37a-886c-455f-84da-9c85a8c2065c? 200 28ms","method":"GET","requestID":"99921eec4b144cd9a6adaaf192e5309c","responseTime":28,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"60778babf61f6423f93eadbbc6228bd3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823885,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454021,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyMX0.VwkMpuFpNBqN5iGWwdX55bE3T9RTd73uQ56yS6FW7u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60778babf61f6423f93eadbbc6228bd3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"9bcc5647-7c2d-4649-bfea-ed1cdbae2c87","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.5278378} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebc2d48a-5946-4216-a7b6-72ca856a8596","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.528167} 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":"3f8c2620-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:40.625969606Z"}]},"request_id":"e9db60b6-d745-43c1-8b98-3c3b1f6d78e6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.5293167} 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":"60778babf61f6423f93eadbbc6228bd3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/730a514e-50ad-46df-a644-f01e65cce3a7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60778babf61f6423f93eadbbc6228bd3"} device-1 | {"level":"info","message":"GET /devices/730a514e-50ad-46df-a644-f01e65cce3a7? 200 27ms","method":"GET","requestID":"60778babf61f6423f93eadbbc6228bd3","responseTime":27,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7?"} 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/31b422f2-151f-473c-8b1b-7480a1e0bd97'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97'"} 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":"3f8c2620-3d42-11ef-b841-3faa56dbb9da","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/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a9c8b59-c0e1-48b2-b2fc-9b6ffc76bfa7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.5834107} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.77638,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f9722a0-3d42-11ef-b841-3faa56dbb9da"},"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/0249a37a-886c-455f-84da-9c85a8c2065c/signaling 200 10ms","method":"POST","requestID":"3f9722a0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f2b33ab-0244-4073-86e0-5630dae2f5f4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454021.595702} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.568573,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f991e70-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/730a514e-50ad-46df-a644-f01e65cce3a7/signaling 200 9ms","method":"POST","requestID":"3f991e70-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7/signaling"} device-1 | {"data":{"peerconnection":"31b422f2-151f-473c-8b1b-7480a1e0bd97","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"31b422f2-151f-473c-8b1b-7480a1e0bd97","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/31b422f2-151f-473c-8b1b-7480a1e0bd97' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"31b422f2-151f-473c-8b1b-7480a1e0bd97","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":"27adfe02adc2e164b0f89916f0a13b02","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"27adfe02adc2e164b0f89916f0a13b02","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"27adfe02adc2e164b0f89916f0a13b02"} device-1 | {"data":{"peerconnection":"31b422f2-151f-473c-8b1b-7480a1e0bd97","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"31b422f2-151f-473c-8b1b-7480a1e0bd97","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/31b422f2-151f-473c-8b1b-7480a1e0bd97' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"31b422f2-151f-473c-8b1b-7480a1e0bd97","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"730b22093f4d00c3c03339ee237fbf39","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31b422f2-151f-473c-8b1b-7480a1e0bd97","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19293dba-eb58-4be5-b6b2-15f816e7aa53","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.673812} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.568881,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40d59610-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97 200 16ms","method":"GET","requestID":"40d59610-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"730b22093f4d00c3c03339ee237fbf39","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"730b22093f4d00c3c03339ee237fbf39"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f94deea-138f-46e9-880b-2587df93f489","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.7161894} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.473256,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","rebac_allow":false,"scope_allow":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":"40dc25c0-3d42-11ef-b841-3faa56dbb9da"},"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/0249a37a-886c-455f-84da-9c85a8c2065c/signaling 200 15ms","method":"POST","requestID":"40dc25c0-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9745287e-8616-4623-b407-a0e09c322a92","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.73262} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.854442,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40dee4e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/730a514e-50ad-46df-a644-f01e65cce3a7/signaling 200 12ms","method":"POST","requestID":"40dee4e0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyM30.5QUh27pyrVwtlJ6POLqTDu18sf83DOGfgU-G86qIoHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c5a7ade3e633c226b50edc284d0ee848","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.75112,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454023,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyM30.5QUh27pyrVwtlJ6POLqTDu18sf83DOGfgU-G86qIoHc"} 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":"c5a7ade3e633c226b50edc284d0ee848"},"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/1d7e7eb4-ce24-42d8-b947-7800ec46b293"} gateway-1 | {"time_local":"08/Jul/2024:15:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5a7ade3e633c226b50edc284d0ee848"} experiment-1 | {"level":"info","message":"GET /experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293 200 14ms","method":"GET","requestID":"c5a7ade3e633c226b50edc284d0ee848","responseTime":14,"status":200,"url":"/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyM30.5QUh27pyrVwtlJ6POLqTDu18sf83DOGfgU-G86qIoHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6273a1b545dbd4a1c435901ba17e030c","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.860144,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454023,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyM30.5QUh27pyrVwtlJ6POLqTDu18sf83DOGfgU-G86qIoHc"} 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":"6273a1b545dbd4a1c435901ba17e030c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.020387,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454023,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyM30.5QUh27pyrVwtlJ6POLqTDu18sf83DOGfgU-G86qIoHc"} 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":"40e74950-3d42-11ef-b841-3faa56dbb9da"},"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/31b422f2-151f-473c-8b1b-7480a1e0bd97' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"31b422f2-151f-473c-8b1b-7480a1e0bd97","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":"c004e6525289d3c69eb605ebb38547b7","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"92268079efbb531ee5ae2d5a426b8181","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31b422f2-151f-473c-8b1b-7480a1e0bd97': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31b422f2-151f-473c-8b1b-7480a1e0bd97","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"ff60cc11-c3fa-44f9-9002-9463a946a36e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.8063805} 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/0249a37a-886c-455f-84da-9c85a8c2065c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97"}}},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8aaf2be5-7d5b-4bb4-b51c-e90247da1f81","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.8067267} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40e74950-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"data":{"peerconnection":"31b422f2-151f-473c-8b1b-7480a1e0bd97","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/31b422f2-151f-473c-8b1b-7480a1e0bd97 204 44ms","method":"DELETE","requestID":"40e74950-3d42-11ef-b841-3faa56dbb9da","responseTime":44,"status":204,"url":"/peerconnections/31b422f2-151f-473c-8b1b-7480a1e0bd97"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0249a37a-886c-455f-84da-9c85a8c2065c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d4afa05-6574-4ff0-bbd1-036e77f8cf0a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.8541467} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.43243,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40f1a990-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d7e7eb4-ce24-42d8-b947-7800ec46b293': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d7e7eb4-ce24-42d8-b947-7800ec46b293","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"a0e32049-a1b5-496a-b473-d0247e0bb977","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.8596396} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90e1a241-bd89-4bb1-a553-f5fa440e0d9f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.85986} device-1 | {"level":"info","message":"POST /devices/0249a37a-886c-455f-84da-9c85a8c2065c/signaling 200 11ms","method":"POST","requestID":"40f1a990-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/0249a37a-886c-455f-84da-9c85a8c2065c/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":"6273a1b545dbd4a1c435901ba17e030c"},"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:57924","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F730a514e-50ad-46df-a644-f01e65cce3a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"098758be-4636-4f70-9912-41ac8d0fd0cb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.8684444} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.478552,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7","object_type":"device","rebac_allow":false,"scope_allow":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":"40f3cc70-3d42-11ef-b841-3faa56dbb9da"},"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/730a514e-50ad-46df-a644-f01e65cce3a7/signaling 200 11ms","method":"POST","requestID":"40f3cc70-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/730a514e-50ad-46df-a644-f01e65cce3a7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"} gateway-1 | {"time_local":"08/Jul/2024:15:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6273a1b545dbd4a1c435901ba17e030c"} experiment-1 | {"level":"info","message":"DELETE /experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293 204 165ms","method":"DELETE","requestID":"6273a1b545dbd4a1c435901ba17e030c","responseTime":165,"status":204,"url":"/experiments/1d7e7eb4-ce24-42d8-b947-7800ec46b293"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.738","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d529b66dc639f2dbbb897ad46102f0c6"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.746","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3c0b6ec74f414caa38e4037279015fa9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"c004e6525289d3c69eb605ebb38547b7","responseTime":129,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"92268079efbb531ee5ae2d5a426b8181","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"c004e6525289d3c69eb605ebb38547b7"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"92268079efbb531ee5ae2d5a426b8181"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyM30.5QUh27pyrVwtlJ6POLqTDu18sf83DOGfgU-G86qIoHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"40315042e56adf28a44263c8169e3f66","responseTime":7,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/730a514e-50ad-46df-a644-f01e65cce3a7' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.020676,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454023,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyM30.5QUh27pyrVwtlJ6POLqTDu18sf83DOGfgU-G86qIoHc"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0249a37a-886c-455f-84da-9c85a8c2065c' 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":"40315042e56adf28a44263c8169e3f66"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fca130c24-61eb-4d69-b96c-0e5e1e41a806","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0c2d27a6-30fd-44c6-8fa0-460a00aeef5d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.9695742} 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":"40315042e56adf28a44263c8169e3f66"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bfc94e3-8417-4324-be32-fa4928a4d6f7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.977937} 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":"40315042e56adf28a44263c8169e3f66"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fca130c24-61eb-4d69-b96c-0e5e1e41a806","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"69f5af90-5b98-413e-9393-909c039bfe07","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.988341} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c853768-c449-41d0-9a34-57e57e544acc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.9887834} 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":"40315042e56adf28a44263c8169e3f66"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fca130c24-61eb-4d69-b96c-0e5e1e41a806","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fca130c24-61eb-4d69-b96c-0e5e1e41a806","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:43.988325901Z"}]},"request_id":"ec575057-3af4-4da6-9f7e-27fafedb0df2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454023.9964142} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40315042e56adf28a44263c8169e3f66"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40315042e56adf28a44263c8169e3f66"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"40315042e56adf28a44263c8169e3f66","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67dd47f47711be41f6781f7e97f13e60","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.816292,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"67dd47f47711be41f6781f7e97f13e60"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45ea9796-d9ff-41ae-8e09-3254c3905677","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c72a8a8b-6bcc-482b-9f01-913979610a85","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.0241961} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"67dd47f47711be41f6781f7e97f13e60"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0dca31be-779c-4465-aff3-46b0a8420b91","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.0297577} 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":"67dd47f47711be41f6781f7e97f13e60"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45ea9796-d9ff-41ae-8e09-3254c3905677","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"23f85014-bf5b-4417-902e-e3629ff3aa53","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.0462832} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8001856-1364-4474-9686-378a63e0681e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.0464969} 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":"67dd47f47711be41f6781f7e97f13e60"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45ea9796-d9ff-41ae-8e09-3254c3905677","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45ea9796-d9ff-41ae-8e09-3254c3905677","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.046269381Z"}]},"request_id":"20fa0f19-55b8-4758-a0fb-281cb708e085","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.0519798} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"67dd47f47711be41f6781f7e97f13e60"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67dd47f47711be41f6781f7e97f13e60"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"67dd47f47711be41f6781f7e97f13e60","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a1cb026c4bc94b94e4989f17a4bd2134","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.685702,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"a1cb026c4bc94b94e4989f17a4bd2134"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9958b117-5a96-45a9-9fb0-d4a5a2fe041a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c55312c3-e569-4e68-aad6-5a091e702860","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.0774176} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1cb026c4bc94b94e4989f17a4bd2134"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ca7ade2-4dd2-42d5-8940-e503b2543ee5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.0823755} 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":"a1cb026c4bc94b94e4989f17a4bd2134"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9958b117-5a96-45a9-9fb0-d4a5a2fe041a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"ba4aefd9-0de1-4c88-aa6f-52117d662ed0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.0964234} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16693824-f4a2-40e0-b86e-69731b73c106","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.0965204} 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":"a1cb026c4bc94b94e4989f17a4bd2134"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9958b117-5a96-45a9-9fb0-d4a5a2fe041a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9958b117-5a96-45a9-9fb0-d4a5a2fe041a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.096411723Z"}]},"request_id":"b9d82022-974e-4152-a8ed-ab42b7d8c3a3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.1015956} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1cb026c4bc94b94e4989f17a4bd2134"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1cb026c4bc94b94e4989f17a4bd2134"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"a1cb026c4bc94b94e4989f17a4bd2134","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"087794fe176e8aab51a95478ce6aa063","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.620012,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"087794fe176e8aab51a95478ce6aa063"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2320287-12ee-4e92-a97d-9432e14ddeee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1d473d7b-728b-4ac5-a841-2b336ed907c6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.12939} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"087794fe176e8aab51a95478ce6aa063"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d392706-be6b-4a14-9ddc-12b6e7dfcff7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.1340952} 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":"087794fe176e8aab51a95478ce6aa063"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2320287-12ee-4e92-a97d-9432e14ddeee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"d611dd68-79ee-4edb-9ea1-33e9847c4322","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.151798} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"532e4e1f-99f0-4ada-8ed4-5e79ffb841bf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.1520796} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"087794fe176e8aab51a95478ce6aa063"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2320287-12ee-4e92-a97d-9432e14ddeee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2320287-12ee-4e92-a97d-9432e14ddeee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.151744952Z"}]},"request_id":"558a1633-4427-43a6-ad5c-f4243a53bfdc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.1596313} 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":"087794fe176e8aab51a95478ce6aa063"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"087794fe176e8aab51a95478ce6aa063","responseTime":53,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"087794fe176e8aab51a95478ce6aa063"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e98fee814fde21b56fc25d429e1dcd0f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.208839,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"e98fee814fde21b56fc25d429e1dcd0f"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c7ca68a-7c87-4a52-ad5e-aeb72725700a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e42d77db-f985-4ebb-8c36-1d12be9492d0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.2012167} 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":"e98fee814fde21b56fc25d429e1dcd0f"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa9f23cf-33bf-4352-83cb-959793e8a1fd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.2115865} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e98fee814fde21b56fc25d429e1dcd0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c7ca68a-7c87-4a52-ad5e-aeb72725700a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"af2ec187-e236-40ef-95ba-d293a74167d3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.225126} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91a34dbd-5094-4915-9a69-162dd258ffab","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.2257335} 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":"e98fee814fde21b56fc25d429e1dcd0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c7ca68a-7c87-4a52-ad5e-aeb72725700a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c7ca68a-7c87-4a52-ad5e-aeb72725700a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.225105378Z"}]},"request_id":"528f05a1-e9e3-400a-92c9-dbd68af83d3a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.2334983} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e98fee814fde21b56fc25d429e1dcd0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e98fee814fde21b56fc25d429e1dcd0f"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"e98fee814fde21b56fc25d429e1dcd0f","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"242e880db1ffa82a7acf10d196c3f8cd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.176505,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"242e880db1ffa82a7acf10d196c3f8cd"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda175599-a3f3-4707-af0a-ed1531ddeb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"06e47b2c-dc19-49a0-bdaf-abab1af7189f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.2694426} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"242e880db1ffa82a7acf10d196c3f8cd"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"15299966-48a5-42a6-bbd5-9640895a95db","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.2772949} 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":"242e880db1ffa82a7acf10d196c3f8cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda175599-a3f3-4707-af0a-ed1531ddeb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"ff031e58-a4d8-4a2c-9eb0-0d1e2bb165ef","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.294175} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed6c3a25-9433-40b9-b8b5-8df4a2dc1fa3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.2945175} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"242e880db1ffa82a7acf10d196c3f8cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda175599-a3f3-4707-af0a-ed1531ddeb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda175599-a3f3-4707-af0a-ed1531ddeb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.294159774Z"}]},"request_id":"5f3ac473-4076-4492-b617-4535599492d5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.3037567} 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":"242e880db1ffa82a7acf10d196c3f8cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"242e880db1ffa82a7acf10d196c3f8cd"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"242e880db1ffa82a7acf10d196c3f8cd","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7357c831e8cff4665dd0f28b234f23f9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.139499,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"7357c831e8cff4665dd0f28b234f23f9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f2493e0-0482-4413-94bf-6a43bd6acf49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1667a22e-6881-4ccc-b7e9-ad84466c8d40","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.3389413} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7357c831e8cff4665dd0f28b234f23f9"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"353dabb7-5de2-4a14-9c62-7715889ea310","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.346445} 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":"7357c831e8cff4665dd0f28b234f23f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f2493e0-0482-4413-94bf-6a43bd6acf49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"189a0cbb-2234-4223-844c-b5147ba90382","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.3604488} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7b2a535-d253-4dba-a254-cd52337a40af","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.360859} 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":"7357c831e8cff4665dd0f28b234f23f9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f2493e0-0482-4413-94bf-6a43bd6acf49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f2493e0-0482-4413-94bf-6a43bd6acf49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.360425287Z"}]},"request_id":"ce324a29-c9b6-46ad-84e8-e5d2d95dac85","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.3676922} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7357c831e8cff4665dd0f28b234f23f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7357c831e8cff4665dd0f28b234f23f9"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"7357c831e8cff4665dd0f28b234f23f9","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"822b3b7a1b584d43410d05551ab970d9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.204225,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"822b3b7a1b584d43410d05551ab970d9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d81d7cb-5cbd-4354-b598-4329ac904f57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"222e7808-03e8-45d4-97c4-2e6ae86538b5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.4055202} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"822b3b7a1b584d43410d05551ab970d9"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bca54d3a-ed7c-4490-85c9-a170b7300a60","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.4133892} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"822b3b7a1b584d43410d05551ab970d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d81d7cb-5cbd-4354-b598-4329ac904f57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"4c7bd35c-fc90-49b0-9f6b-d6f15d134de2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.4276836} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c6c2636-4e90-4bc0-9cd1-03a229e902fa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.4280105} 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":"822b3b7a1b584d43410d05551ab970d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d81d7cb-5cbd-4354-b598-4329ac904f57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d81d7cb-5cbd-4354-b598-4329ac904f57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.427659698Z"}]},"request_id":"968d3bc8-d15d-4024-9783-402366d38357","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.43544} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"822b3b7a1b584d43410d05551ab970d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"822b3b7a1b584d43410d05551ab970d9"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"822b3b7a1b584d43410d05551ab970d9","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e8d88cf6864012a1a36e29c0a533053a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.176536,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"e8d88cf6864012a1a36e29c0a533053a"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01fd7a59-eac4-4c76-9cf8-177e3882aa6d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"885c7166-c2d8-491b-82d1-bb3646b88969","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.4738142} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8d88cf6864012a1a36e29c0a533053a"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79b88c81-d5f4-426a-b087-ae1067e3548e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.4838874} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8d88cf6864012a1a36e29c0a533053a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01fd7a59-eac4-4c76-9cf8-177e3882aa6d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"171eb1f2-343b-47f6-b213-d06f5037d472","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.4952412} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84643b0e-49c3-48e3-a57f-9c3874039a62","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.495741} 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":"e8d88cf6864012a1a36e29c0a533053a"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01fd7a59-eac4-4c76-9cf8-177e3882aa6d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01fd7a59-eac4-4c76-9cf8-177e3882aa6d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.495219190Z"}]},"request_id":"a8ac85b1-b6c0-4579-a0a3-edc5a7bb1daf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.5031343} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8d88cf6864012a1a36e29c0a533053a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +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":"e8d88cf6864012a1a36e29c0a533053a"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"e8d88cf6864012a1a36e29c0a533053a","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ea815feb62333b8d4f18da183d85a199","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.311162,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"ea815feb62333b8d4f18da183d85a199"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb19144f9-358b-4160-815f-5fc1b6b9423c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c63eb17d-7376-43a5-94cf-3bd15ba86a2d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.5415018} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea815feb62333b8d4f18da183d85a199"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c97ffdae-ce1a-497a-8a3c-8647aa41ed53","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.5495808} 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":"ea815feb62333b8d4f18da183d85a199"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb19144f9-358b-4160-815f-5fc1b6b9423c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"753e8207-983e-4686-877c-b9c807751848","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.5611172} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77022d9d-ac51-4803-aee9-5de8fa8ee6b9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.5617144} 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":"ea815feb62333b8d4f18da183d85a199"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb19144f9-358b-4160-815f-5fc1b6b9423c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb19144f9-358b-4160-815f-5fc1b6b9423c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.561095617Z"}]},"request_id":"0b96682a-3d77-4126-97d9-3d3558e7323e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.568715} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea815feb62333b8d4f18da183d85a199"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea815feb62333b8d4f18da183d85a199"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"ea815feb62333b8d4f18da183d85a199","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bc9c292e8ca1c0f8b19b5420451dd03e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.276263,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"bc9c292e8ca1c0f8b19b5420451dd03e"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1bfaaec9-252b-4f3a-a420-92b9d69c4f7c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.616553} 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":"bc9c292e8ca1c0f8b19b5420451dd03e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac567fed-4208-48c8-918a-a60785724afa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.6256123} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc9c292e8ca1c0f8b19b5420451dd03e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"609991aa-f2c6-4214-a7da-b2e2997405a7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.6406734} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d6fcc84-b459-4c81-ae93-295870d33295","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.640977} 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":"bc9c292e8ca1c0f8b19b5420451dd03e"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.640649421Z"}]},"request_id":"e08b9360-a5be-41f6-8204-4d8bdbfbcf72","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.6493542} 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":"bc9c292e8ca1c0f8b19b5420451dd03e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.079","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc9c292e8ca1c0f8b19b5420451dd03e"} device-1 | {"level":"info","message":"POST /devices? 201 72ms","method":"POST","requestID":"bc9c292e8ca1c0f8b19b5420451dd03e","responseTime":72,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"15ffa18841f48385ac2fdba4fe4d5edf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.202457,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"15ffa18841f48385ac2fdba4fe4d5edf"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a63c33f0-af89-40cc-b7b0-b3d683ac90bb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.689708} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15ffa18841f48385ac2fdba4fe4d5edf"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7cd0ed94-d9ab-4733-b994-2436d6660167","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.697742} 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":"15ffa18841f48385ac2fdba4fe4d5edf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"974c39d1-8be4-49dc-886c-7a6e384b8474","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.7101855} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef5d2b03-43e2-4fed-a51d-1d84aa17d632","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.7106335} 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":"15ffa18841f48385ac2fdba4fe4d5edf"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.710155514Z"}]},"request_id":"a2307c25-5e23-4c16-8211-8f2a95b2a018","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.7146113} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15ffa18841f48385ac2fdba4fe4d5edf"},"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 53ms","method":"POST","requestID":"15ffa18841f48385ac2fdba4fe4d5edf","responseTime":53,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15ffa18841f48385ac2fdba4fe4d5edf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d73f0972d3e8c5d5735b4308cb0ff67","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.178793,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"2d73f0972d3e8c5d5735b4308cb0ff67"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c1bcc1e4-3755-475f-b38f-c24f9d4fc175","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.7555075} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d73f0972d3e8c5d5735b4308cb0ff67"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe6152e9-00cb-4ddf-a078-81bc6920357f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.7633681} 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":"2d73f0972d3e8c5d5735b4308cb0ff67"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"610db7b3-41ae-43d7-b680-f71ff453e2ab","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.7775962} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9f0afaf-aa30-438b-a373-f2a6c282a629","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.7777574} 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":"2d73f0972d3e8c5d5735b4308cb0ff67"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.777572448Z"}]},"request_id":"1630a3bd-ecf0-4e1b-a67d-60e24bcc3574","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.78503} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d73f0972d3e8c5d5735b4308cb0ff67"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d73f0972d3e8c5d5735b4308cb0ff67"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"2d73f0972d3e8c5d5735b4308cb0ff67","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f3924b41457afe61fd5fcf6950c8380f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.283368,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c90a1849-eee6-4073-857b-be0ffc492e73","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c90a1849-eee6-4073-857b-be0ffc492e73","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3924b41457afe61fd5fcf6950c8380f"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.640649421Z"}]},"request_id":"bd84b71c-2e02-4adb-8898-0c472a00600d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.820205} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3924b41457afe61fd5fcf6950c8380f"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d7a063f-13ef-4c7b-96d4-cd727853b0d0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.8310914} 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":"f3924b41457afe61fd5fcf6950c8380f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.640649421Z"}]},"request_id":"7055e30d-849f-4e8c-9933-9e1cdc01f9c7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.8451293} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3924b41457afe61fd5fcf6950c8380f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c90a1849-eee6-4073-857b-be0ffc492e73? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3924b41457afe61fd5fcf6950c8380f"} device-1 | {"level":"info","message":"PATCH /devices/c90a1849-eee6-4073-857b-be0ffc492e73? 200 48ms","method":"PATCH","requestID":"f3924b41457afe61fd5fcf6950c8380f","responseTime":48,"status":200,"url":"/devices/c90a1849-eee6-4073-857b-be0ffc492e73?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"62106909987e2a7d9801a32becc5f2f1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.687786,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c5eab7-a415-4dc0-a57f-48f9436326d1","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/71c5eab7-a415-4dc0-a57f-48f9436326d1","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"62106909987e2a7d9801a32becc5f2f1"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.710155514Z"}]},"request_id":"07025bdb-7f38-4931-881a-f862081cacaa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.8766007} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"62106909987e2a7d9801a32becc5f2f1"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5bfec0c-50fd-4558-b951-163d6ce35ac5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.8855667} 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":"62106909987e2a7d9801a32becc5f2f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.710155514Z"}]},"request_id":"1bce1398-5eea-4bbe-90bc-b7bff90b62bd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.8981073} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"62106909987e2a7d9801a32becc5f2f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/71c5eab7-a415-4dc0-a57f-48f9436326d1? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62106909987e2a7d9801a32becc5f2f1"} device-1 | {"level":"info","message":"PATCH /devices/71c5eab7-a415-4dc0-a57f-48f9436326d1? 200 42ms","method":"PATCH","requestID":"62106909987e2a7d9801a32becc5f2f1","responseTime":42,"status":200,"url":"/devices/71c5eab7-a415-4dc0-a57f-48f9436326d1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e4f17abc306e1bd06a87bd939a55e6f0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323325,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/740b31e6-7009-42df-b3f0-a395c4e12447","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/740b31e6-7009-42df-b3f0-a395c4e12447","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4f17abc306e1bd06a87bd939a55e6f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.777572448Z"}]},"request_id":"7ab4d919-ae79-4775-875d-25542a37f735","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.9256468} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4f17abc306e1bd06a87bd939a55e6f0"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b017552f-c6ec-43dd-95ac-0e376c9f3913","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.9338307} 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":"e4f17abc306e1bd06a87bd939a55e6f0"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.777572448Z"}]},"request_id":"20d92d1d-db20-4e02-9cd3-47026b9f243c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.946297} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4f17abc306e1bd06a87bd939a55e6f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/740b31e6-7009-42df-b3f0-a395c4e12447? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4f17abc306e1bd06a87bd939a55e6f0"} device-1 | {"level":"info","message":"PATCH /devices/740b31e6-7009-42df-b3f0-a395c4e12447? 200 40ms","method":"PATCH","requestID":"e4f17abc306e1bd06a87bd939a55e6f0","responseTime":40,"status":200,"url":"/devices/740b31e6-7009-42df-b3f0-a395c4e12447?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c38ee585d1ae49a9d5d91dedbce452a9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.248676,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c90a1849-eee6-4073-857b-be0ffc492e73","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c90a1849-eee6-4073-857b-be0ffc492e73","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c38ee585d1ae49a9d5d91dedbce452a9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc90a1849-eee6-4073-857b-be0ffc492e73","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.640649421Z"}]},"request_id":"a7f6423a-d8b9-438d-8e77-0ad0b1f5d35e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454024.971342} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c38ee585d1ae49a9d5d91dedbce452a9"},"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:57924","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.155305,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188931,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ca130c24-61eb-4d69-b96c-0e5e1e41a806","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ca130c24-61eb-4d69-b96c-0e5e1e41a806","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"c38ee585d1ae49a9d5d91dedbce452a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45ea9796-d9ff-41ae-8e09-3254c3905677","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/45ea9796-d9ff-41ae-8e09-3254c3905677","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} 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":"c38ee585d1ae49a9d5d91dedbce452a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:40622","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:40636","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:40622","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.810939,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9958b117-5a96-45a9-9fb0-d4a5a2fe041a","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9958b117-5a96-45a9-9fb0-d4a5a2fe041a","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c38ee585d1ae49a9d5d91dedbce452a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:40636","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.031712,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c5eab7-a415-4dc0-a57f-48f9436326d1","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/71c5eab7-a415-4dc0-a57f-48f9436326d1","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454024,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNH0.0LVQJrMcGVvr_zv2ZE-rWGA_6gpsmxYRN_CgEHFUuHc"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c38ee585d1ae49a9d5d91dedbce452a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c90a1849-eee6-4073-857b-be0ffc492e73? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c38ee585d1ae49a9d5d91dedbce452a9"} device-1 | {"level":"info","message":"GET /devices/c90a1849-eee6-4073-857b-be0ffc492e73? 200 43ms","method":"GET","requestID":"c38ee585d1ae49a9d5d91dedbce452a9","responseTime":43,"status":200,"url":"/devices/c90a1849-eee6-4073-857b-be0ffc492e73?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6155b01218c49b1c038eb3f7988a5b12","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.218038,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71c5eab7-a415-4dc0-a57f-48f9436326d1","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/71c5eab7-a415-4dc0-a57f-48f9436326d1","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6155b01218c49b1c038eb3f7988a5b12"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71c5eab7-a415-4dc0-a57f-48f9436326d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.710155514Z"}]},"request_id":"d1cc64e5-7701-4fd7-a899-5123340c0c56","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.023252} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6155b01218c49b1c038eb3f7988a5b12"},"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:57924","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.05928,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206642,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40622","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40622","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.631919,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40636","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2320287-12ee-4e92-a97d-9432e14ddeee","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d2320287-12ee-4e92-a97d-9432e14ddeee","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6155b01218c49b1c038eb3f7988a5b12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c7ca68a-7c87-4a52-ad5e-aeb72725700a","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8c7ca68a-7c87-4a52-ad5e-aeb72725700a","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6155b01218c49b1c038eb3f7988a5b12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da175599-a3f3-4707-af0a-ed1531ddeb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/da175599-a3f3-4707-af0a-ed1531ddeb3b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6155b01218c49b1c038eb3f7988a5b12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:40636","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.126563,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f2493e0-0482-4413-94bf-6a43bd6acf49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3f2493e0-0482-4413-94bf-6a43bd6acf49","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6155b01218c49b1c038eb3f7988a5b12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40638","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.343128,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/740b31e6-7009-42df-b3f0-a395c4e12447","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/740b31e6-7009-42df-b3f0-a395c4e12447","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} 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":"6155b01218c49b1c038eb3f7988a5b12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:40638","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.617955,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c90a1849-eee6-4073-857b-be0ffc492e73","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c90a1849-eee6-4073-857b-be0ffc492e73","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6155b01218c49b1c038eb3f7988a5b12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/71c5eab7-a415-4dc0-a57f-48f9436326d1? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6155b01218c49b1c038eb3f7988a5b12"} device-1 | {"level":"info","message":"GET /devices/71c5eab7-a415-4dc0-a57f-48f9436326d1? 200 57ms","method":"GET","requestID":"6155b01218c49b1c038eb3f7988a5b12","responseTime":57,"status":200,"url":"/devices/71c5eab7-a415-4dc0-a57f-48f9436326d1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1c69227135d51b50d6aaec74ebd081b5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.919379,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/740b31e6-7009-42df-b3f0-a395c4e12447","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/740b31e6-7009-42df-b3f0-a395c4e12447","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} 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":"1c69227135d51b50d6aaec74ebd081b5"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740b31e6-7009-42df-b3f0-a395c4e12447","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:44.777572448Z"}]},"request_id":"8f75d396-e926-4fc5-87b8-d75c6bb1b2bd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.0908916} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c69227135d51b50d6aaec74ebd081b5"},"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:57924","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.066174,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.280904,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40622","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40636","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d81d7cb-5cbd-4354-b598-4329ac904f57","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2d81d7cb-5cbd-4354-b598-4329ac904f57","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} 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":"1c69227135d51b50d6aaec74ebd081b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01fd7a59-eac4-4c76-9cf8-177e3882aa6d","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/01fd7a59-eac4-4c76-9cf8-177e3882aa6d","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} 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":"1c69227135d51b50d6aaec74ebd081b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:40622","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.733998,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40636","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.760456,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b19144f9-358b-4160-815f-5fc1b6b9423c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b19144f9-358b-4160-815f-5fc1b6b9423c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} 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":"1c69227135d51b50d6aaec74ebd081b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c90a1849-eee6-4073-857b-be0ffc492e73","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c90a1849-eee6-4073-857b-be0ffc492e73","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} 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":"1c69227135d51b50d6aaec74ebd081b5"},"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/Jul/2024:15:53:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/740b31e6-7009-42df-b3f0-a395c4e12447? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c69227135d51b50d6aaec74ebd081b5"} device-1 | {"level":"info","message":"GET /devices/740b31e6-7009-42df-b3f0-a395c4e12447? 200 41ms","method":"GET","requestID":"1c69227135d51b50d6aaec74ebd081b5","responseTime":41,"status":200,"url":"/devices/740b31e6-7009-42df-b3f0-a395c4e12447?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7a47466cb266e264c87bd4c30bfcdda4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.286904,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} 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":"7a47466cb266e264c87bd4c30bfcdda4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"499717ef-e674-4891-b3e3-95d4e7bee044","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.1550992} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a47466cb266e264c87bd4c30bfcdda4"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"303d1891-02eb-413e-aa58-2fbdcde3066f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.1633654} 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":"7a47466cb266e264c87bd4c30bfcdda4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"35eecd59-be95-418f-add6-aa3fd409e17b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.176667} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"702008ea-ddd7-49b9-85ba-ef6362a4fe52","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.1770344} 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":"7a47466cb266e264c87bd4c30bfcdda4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.176643747Z"}]},"request_id":"e2ca4b86-f922-4465-b9d9-d6f8c6385101","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.1842182} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a47466cb266e264c87bd4c30bfcdda4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a47466cb266e264c87bd4c30bfcdda4"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"7a47466cb266e264c87bd4c30bfcdda4","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3201e38f619ffe6d61628105817e386f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873233,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} 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":"3201e38f619ffe6d61628105817e386f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fb32646-4a58-4fc7-bc1c-db8d842e9b1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"40e4ba4c-2c9d-4499-85b4-eecbaa2d9d9c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.2180345} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3201e38f619ffe6d61628105817e386f"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d198ff07-f8e8-4799-8807-f927b4f61b99","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.225448} 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":"3201e38f619ffe6d61628105817e386f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fb32646-4a58-4fc7-bc1c-db8d842e9b1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"a43558ef-1fb7-438c-ad64-61d693048886","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.23772} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bdd2ff49-298a-4155-8c40-12f6d04fd4ab","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.2380152} 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":"3201e38f619ffe6d61628105817e386f"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fb32646-4a58-4fc7-bc1c-db8d842e9b1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fb32646-4a58-4fc7-bc1c-db8d842e9b1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.237689963Z"}]},"request_id":"3c41ad08-6228-45a3-95ab-18e6151f0626","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.2453113} 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":"3201e38f619ffe6d61628105817e386f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:45 +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":"3201e38f619ffe6d61628105817e386f"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"3201e38f619ffe6d61628105817e386f","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c0967b1936a1edc631498f4a9b6a969e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.673123,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454025,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyNX0.NsbSj1y7qUm2yYzShS4mKCq24InQTAvnt67Ncc80Zco"} 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":"c0967b1936a1edc631498f4a9b6a969e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6dd0df0e-2ea7-48ff-b26c-7d4ad578377d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.3002236} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0967b1936a1edc631498f4a9b6a969e"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a17f658d-d09d-4732-842a-fe8d5de90bfe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.3076656} 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":"c0967b1936a1edc631498f4a9b6a969e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"206e0fdc-85e2-4ab7-86fd-65abe4e99aac","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.3218772} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5c54bbf-094a-4485-9026-a3373b09e58c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.3221457} 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":"c0967b1936a1edc631498f4a9b6a969e"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.321842165Z"}]},"request_id":"72b72e14-b05e-4426-b926-aa1aae0c2c5d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454025.3283613} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0967b1936a1edc631498f4a9b6a969e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0967b1936a1edc631498f4a9b6a969e"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"c0967b1936a1edc631498f4a9b6a969e","responseTime":62,"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":"bc523f066a7cb34475caeaa8a84bc8c7","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 0ms","method":"GET","requestID":"61d4e33d4f05a0edbc0b2dec1b0e4e04","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/aeebf7e5-90bd-40dd-a614-7777916ac945/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bc523f066a7cb34475caeaa8a84bc8c7"} device-1 | {"level":"info","message":"OPTIONS /devices/aeebf7e5-90bd-40dd-a614-7777916ac945/websocket 200 1ms","method":"OPTIONS","requestID":"bc523f066a7cb34475caeaa8a84bc8c7","responseTime":1,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6ea2635c-aa78-4232-af70-f45b36e3db83/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":"61d4e33d4f05a0edbc0b2dec1b0e4e04"} device-1 | {"level":"info","message":"OPTIONS /devices/6ea2635c-aa78-4232-af70-f45b36e3db83/websocket 200 1ms","method":"OPTIONS","requestID":"61d4e33d4f05a0edbc0b2dec1b0e4e04","responseTime":1,"status":200,"url":"/devices/6ea2635c-aa78-4232-af70-f45b36e3db83/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"e870b5664af10473098916070823f203","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"9b27237c875f325ad6341c5a058de04b","responseTime":7,"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:57924","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982835,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} 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":"e870b5664af10473098916070823f203"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.377771,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b27237c875f325ad6341c5a058de04b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6ea2635c-aa78-4232-af70-f45b36e3db83/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":"9b27237c875f325ad6341c5a058de04b"} device-1 | {"level":"info","message":"POST /devices/6ea2635c-aa78-4232-af70-f45b36e3db83/websocket 200 12ms","method":"POST","requestID":"9b27237c875f325ad6341c5a058de04b","responseTime":12,"status":200,"url":"/devices/6ea2635c-aa78-4232-af70-f45b36e3db83/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/aeebf7e5-90bd-40dd-a614-7777916ac945/websocket 200 25ms","method":"POST","requestID":"e870b5664af10473098916070823f203","responseTime":25,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/aeebf7e5-90bd-40dd-a614-7777916ac945/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":"e870b5664af10473098916070823f203"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d875deabc42ca3f4f19ae5367661e53","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82636,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d875deabc42ca3f4f19ae5367661e53"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.321842165Z"}]},"request_id":"fc50fc4e-8b04-4396-9991-8d13972b52ee","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.4080117} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d875deabc42ca3f4f19ae5367661e53"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aeebf7e5-90bd-40dd-a614-7777916ac945? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d875deabc42ca3f4f19ae5367661e53"} device-1 | {"level":"info","message":"GET /devices/aeebf7e5-90bd-40dd-a614-7777916ac945? 200 18ms","method":"GET","requestID":"1d875deabc42ca3f4f19ae5367661e53","responseTime":18,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e4b3c42e27facf3c2a5a6c53610e136c","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.122774,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} 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":"e4b3c42e27facf3c2a5a6c53610e136c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"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:57924","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.086494,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fb32646-4a58-4fc7-bc1c-db8d842e9b1d","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9fb32646-4a58-4fc7-bc1c-db8d842e9b1d","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} 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":"431b1940-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.949337,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} 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":"431b8e70-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fb32646-4a58-4fc7-bc1c-db8d842e9b1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fb32646-4a58-4fc7-bc1c-db8d842e9b1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.237689963Z"}]},"request_id":"d19cbe34-c9be-4452-9992-d613a642382a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.492934} 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":"431b1940-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.321842165Z"}]},"request_id":"db948a08-c93f-47c5-9015-27abb43385fb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.4951715} 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":"431b8e70-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/aeebf7e5-90bd-40dd-a614-7777916ac945? 200 26ms","method":"GET","requestID":"431b8e70-3d42-11ef-b841-3faa56dbb9da","responseTime":26,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.370983,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} 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":"431b1940-3d42-11ef-b841-3faa56dbb9da"},"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/9fb32646-4a58-4fc7-bc1c-db8d842e9b1d? 200 35ms","method":"GET","requestID":"431b1940-3d42-11ef-b841-3faa56dbb9da","responseTime":35,"status":200,"url":"/devices/9fb32646-4a58-4fc7-bc1c-db8d842e9b1d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"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:57924","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974918,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43297120-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.123674,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} 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":"4329e650-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.992444,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08e4521a-94a6-4926-ab49-b35281ac98d3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.5839367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.176643747Z"}]},"request_id":"ad15d670-d4ed-4965-b383-7aa6b6885225","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.5853772} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","object_type":"device","rebac_allow":false,"scope_allow":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":"432a5b80-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} 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":"43297120-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.321842165Z"}]},"request_id":"12d92cd0-08b6-4ae3-8e32-6e4deb0169de","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.588245} 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":"4329e650-3d42-11ef-b841-3faa56dbb9da"},"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/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling 200 20ms","method":"POST","requestID":"432a5b80-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6ea2635c-aa78-4232-af70-f45b36e3db83? 200 27ms","method":"GET","requestID":"43297120-3d42-11ef-b841-3faa56dbb9da","responseTime":27,"status":200,"url":"/devices/6ea2635c-aa78-4232-af70-f45b36e3db83?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/aeebf7e5-90bd-40dd-a614-7777916ac945? 200 30ms","method":"GET","requestID":"4329e650-3d42-11ef-b841-3faa56dbb9da","responseTime":30,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72ef466b-e7e2-4602-9fc9-463d4ed53fe9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.6057436} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.551185,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"432e2c10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffe69b2f7-7819-4e85-914a-486f62f15271#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffe69b2f7-7819-4e85-914a-486f62f15271","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"b761d590-a42b-45ef-b278-8621e869ff26","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.606784} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4721b618-5998-4e53-a518-31782a1c1e8b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.607262} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling 200 10ms","method":"POST","requestID":"432e2c10-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4b3c42e27facf3c2a5a6c53610e136c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.894178,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"928a5c8e-b9b1-4218-9fc5-1d3e200f6cdc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.6115274} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"432ec850-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling 200 12ms","method":"POST","requestID":"432ec850-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4b3c42e27facf3c2a5a6c53610e136c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 196ms","method":"POST","requestID":"e4b3c42e27facf3c2a5a6c53610e136c","responseTime":196,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4e209f5-6384-44fb-b8e2-461c0980fe5e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.6265476} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.709328,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6862a0b12d9898a559e4b28a577af620","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43311240-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726917,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} device-1 | {"level":"info","message":"POST /devices/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling 200 12ms","method":"POST","requestID":"43311240-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6862a0b12d9898a559e4b28a577af620"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"063be6db-32f6-4e5e-8078-aa93bbf0602d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"d39239f9-d3ad-4008-a540-c37a0985deeb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6f49cef4-1b68-4e70-b6b1-be489e5dc9cf"}]},"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/6ea2635c-aa78-4232-af70-f45b36e3db83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.176643747Z"}]},"request_id":"f42e9344-d43c-4dc8-8569-dfad1df8c053","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.6360621} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6862a0b12d9898a559e4b28a577af620"},"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:57924","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.783889,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ea2635c-aa78-4232-af70-f45b36e3db83? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6862a0b12d9898a559e4b28a577af620"} device-1 | {"level":"info","message":"GET /devices/6ea2635c-aa78-4232-af70-f45b36e3db83? 200 11ms","method":"GET","requestID":"6862a0b12d9898a559e4b28a577af620","responseTime":11,"status":200,"url":"/devices/6ea2635c-aa78-4232-af70-f45b36e3db83?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} 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":"43335c30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4fd4f6e37b8d1dba85892cbeee782abb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.160988,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fd4f6e37b8d1dba85892cbeee782abb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"a203d59b-48b0-42c1-9b27-13a2f3608e62","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.6506948} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9137b123-bc8b-400e-876c-799dd89e43f4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.6508691} 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":"43335c30-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:45.321842165Z"}]},"request_id":"00060392-85f5-4448-81d8-91c15882d279","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.654859} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fd4f6e37b8d1dba85892cbeee782abb"},"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/799917fa-92a4-4429-82ef-6cf48394d3a2'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2'"} 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":"43335c30-3d42-11ef-b841-3faa56dbb9da","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aeebf7e5-90bd-40dd-a614-7777916ac945? 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":"4fd4f6e37b8d1dba85892cbeee782abb"} device-1 | {"level":"info","message":"GET /devices/aeebf7e5-90bd-40dd-a614-7777916ac945? 200 22ms","method":"GET","requestID":"4fd4f6e37b8d1dba85892cbeee782abb","responseTime":22,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b6aa41f-61ea-45e3-88ce-5b3b3fba8093","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.6996768} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.380218,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"433c83f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling 200 8ms","method":"POST","requestID":"433c83f0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3445d8ec-bd1f-4ab5-8b00-2ad225c5a234","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454027.7099016} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.301822,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","rebac_allow":false,"scope_allow":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":"433e0a90-3d42-11ef-b841-3faa56dbb9da"},"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/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling 200 9ms","method":"POST","requestID":"433e0a90-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"799917fa-92a4-4429-82ef-6cf48394d3a2","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":"649b1a1981906df5719cc985f9e6bcd6","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/6ea2635c-aa78-4232-af70-f45b36e3db83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"649b1a1981906df5719cc985f9e6bcd6","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"649b1a1981906df5719cc985f9e6bcd6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"251994b7a885208f8ac88582cf78f08b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.840565,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454027,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyN30.McqaZ4tFqyX3-WmjxfwAAqyfByQvXHZHJX_USR5CdZg"} 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":"251994b7a885208f8ac88582cf78f08b"},"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/fe69b2f7-7819-4e85-914a-486f62f15271"} gateway-1 | {"time_local":"08/Jul/2024:15:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"251994b7a885208f8ac88582cf78f08b"} experiment-1 | {"level":"info","message":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 200 14ms","method":"GET","requestID":"251994b7a885208f8ac88582cf78f08b","responseTime":14,"status":200,"url":"/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} device-1 | {"data":{"peerconnection":"799917fa-92a4-4429-82ef-6cf48394d3a2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1a267962166335403f0da4ef16080cd9","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.186589,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454028,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A"} 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":"1a267962166335403f0da4ef16080cd9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} gateway-1 | {"time_local":"08/Jul/2024:15:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a267962166335403f0da4ef16080cd9"} experiment-1 | {"level":"info","message":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 200 19ms","method":"GET","requestID":"1a267962166335403f0da4ef16080cd9","responseTime":19,"status":200,"url":"/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} device-1 | {"data":{"peerconnection":"799917fa-92a4-4429-82ef-6cf48394d3a2","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ffece0cac3dc32f50012153f1ad7443d","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.257309,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454028,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A"} 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":"ffece0cac3dc32f50012153f1ad7443d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} gateway-1 | {"time_local":"08/Jul/2024:15:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffece0cac3dc32f50012153f1ad7443d"} experiment-1 | {"level":"info","message":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 200 19ms","method":"GET","requestID":"ffece0cac3dc32f50012153f1ad7443d","responseTime":19,"status":200,"url":"/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"799917fa-92a4-4429-82ef-6cf48394d3a2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6763b8c3642850294ec37b8773e87677","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F799917fa-92a4-4429-82ef-6cf48394d3a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fb01c11-beb2-4bba-a31f-79f2674b0b90","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.2612054} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.079144,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2","object_type":"peerconnection","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"4391a8d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2c97e3d7fc2197c0481a00f99c9aec47","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2 200 16ms","method":"GET","requestID":"4391a8d0-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.598803,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454028,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c97e3d7fc2197c0481a00f99c9aec47"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} gateway-1 | {"time_local":"08/Jul/2024:15:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c97e3d7fc2197c0481a00f99c9aec47"} experiment-1 | {"level":"info","message":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 200 27ms","method":"GET","requestID":"2c97e3d7fc2197c0481a00f99c9aec47","responseTime":27,"status":200,"url":"/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 69ms","method":"POST","requestID":"6763b8c3642850294ec37b8773e87677","responseTime":69,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.074","http_referrer":"","http_user_agent":"node-fetch","requestID":"6763b8c3642850294ec37b8773e87677"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"791c225e-ff36-4e60-8652-4ded0f267f74","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.3198652} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.574715,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","object_type":"device","rebac_allow":false,"scope_allow":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":"439ad090-3d42-11ef-b841-3faa56dbb9da"},"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/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling 200 14ms","method":"POST","requestID":"439ad090-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ac8d74a-43c4-4c24-a90c-ea586c33b13b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.3380623} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.168991,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","rebac_allow":false,"scope_allow":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":"439d68a0-3d42-11ef-b841-3faa56dbb9da"},"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/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling 200 15ms","method":"POST","requestID":"439d68a0-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bd7dcab5c53755b8cbca6288b97dd26b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.472031,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454028,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd7dcab5c53755b8cbca6288b97dd26b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} gateway-1 | {"time_local":"08/Jul/2024:15:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd7dcab5c53755b8cbca6288b97dd26b"} experiment-1 | {"level":"info","message":"GET /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 200 19ms","method":"GET","requestID":"bd7dcab5c53755b8cbca6288b97dd26b","responseTime":19,"status":200,"url":"/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"310a459be07ee5db6945a0bb8cb5f056","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.797367,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454028,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"310a459be07ee5db6945a0bb8cb5f056"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.223472,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454028,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A"} 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":"43af9110-3d42-11ef-b841-3faa56dbb9da"},"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/799917fa-92a4-4429-82ef-6cf48394d3a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"799917fa-92a4-4429-82ef-6cf48394d3a2","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":"a844be8e5758d28db3aa706490e197fa","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/6ea2635c-aa78-4232-af70-f45b36e3db83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3d1d18d34455671eb365aba89e83059b","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F799917fa-92a4-4429-82ef-6cf48394d3a2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F799917fa-92a4-4429-82ef-6cf48394d3a2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"68269135-4395-4d2a-861e-d76e62e1e541","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.4799397} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32b566a9-c3fb-4b97-99c0-e16787c16f72","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.4806538} 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/6ea2635c-aa78-4232-af70-f45b36e3db83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43af9110-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"data":{"peerconnection":"799917fa-92a4-4429-82ef-6cf48394d3a2","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/799917fa-92a4-4429-82ef-6cf48394d3a2 204 53ms","method":"DELETE","requestID":"43af9110-3d42-11ef-b841-3faa56dbb9da","responseTime":53,"status":204,"url":"/peerconnections/799917fa-92a4-4429-82ef-6cf48394d3a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ea2635c-aa78-4232-af70-f45b36e3db83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf950503-2873-439e-ac63-fde7f2c586c9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.5362198} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.652787,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83","object_type":"device","rebac_allow":false,"scope_allow":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":"43bb9f00-3d42-11ef-b841-3faa56dbb9da"},"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/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling 200 17ms","method":"POST","requestID":"43bb9f00-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/6ea2635c-aa78-4232-af70-f45b36e3db83/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffe69b2f7-7819-4e85-914a-486f62f15271': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffe69b2f7-7819-4e85-914a-486f62f15271","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"563f90e3-a5d2-4208-bb77-b9f97491ff50","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.5489912} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"260149dd-97e6-470c-a890-f268048ac4a6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.5493639} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"310a459be07ee5db6945a0bb8cb5f056"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeebf7e5-90bd-40dd-a614-7777916ac945","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c32576a-d194-484c-885b-725ddfa8583a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.556276} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.614651,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43bed350-3d42-11ef-b841-3faa56dbb9da"},"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/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling 200 15ms","method":"POST","requestID":"43bed350-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/aeebf7e5-90bd-40dd-a614-7777916ac945/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} gateway-1 | {"time_local":"08/Jul/2024:15:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"310a459be07ee5db6945a0bb8cb5f056"} experiment-1 | {"level":"info","message":"DELETE /experiments/fe69b2f7-7819-4e85-914a-486f62f15271 204 195ms","method":"DELETE","requestID":"310a459be07ee5db6945a0bb8cb5f056","responseTime":195,"status":204,"url":"/experiments/fe69b2f7-7819-4e85-914a-486f62f15271"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"a844be8e5758d28db3aa706490e197fa","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"a844be8e5758d28db3aa706490e197fa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"3d1d18d34455671eb365aba89e83059b","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d1d18d34455671eb365aba89e83059b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"ea30ddd145bc19dfcf50018a232d88c2","responseTime":8,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"1.263","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"34a30fea5937d79d027a2a3853e87bb2"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"1.273","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b1c49d62a23910b8a9afb607889da971"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.918174,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/aeebf7e5-90bd-40dd-a614-7777916ac945' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454028,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A"} 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":"ea30ddd145bc19dfcf50018a232d88c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6ea2635c-aa78-4232-af70-f45b36e3db83' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ed7a6363-d996-4faa-8cda-e6eba7bfd221","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.6634765} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea30ddd145bc19dfcf50018a232d88c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c85642d4-c664-4966-bafa-109788cb4d08","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.6681187} 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":"ea30ddd145bc19dfcf50018a232d88c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"581040fc-7238-4659-9411-3221fa2333fe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.677182} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8357139f-bc05-4913-a4b3-16fe5617146e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.6773179} 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":"ea30ddd145bc19dfcf50018a232d88c2"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.677166964Z"}]},"request_id":"6a79d83a-acf9-4835-ae46-8be3dbeb0f35","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.6814065} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea30ddd145bc19dfcf50018a232d88c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea30ddd145bc19dfcf50018a232d88c2"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"ea30ddd145bc19dfcf50018a232d88c2","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"015995fb24f892bc11eebebb34e47b3c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.67175,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454028,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOH0.g7lG9IOoG8ucijpb5J2ta6PIZeTizkZEz8aKNRwEc7A"} 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":"015995fb24f892bc11eebebb34e47b3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cb345a18-62bd-4e96-aeeb-68aaebddf9c3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.7109756} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"015995fb24f892bc11eebebb34e47b3c"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de3f3a12-681a-4bb2-8c25-7de019e4b096","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.7151136} 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":"015995fb24f892bc11eebebb34e47b3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"67e8aa68-5688-4762-84ab-6f964d710111","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.7279286} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0e10275-2f6b-4dfb-bf65-ef5191ced029","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.728006} 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":"015995fb24f892bc11eebebb34e47b3c"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.727910216Z"}]},"request_id":"2076121c-5943-4a02-8b52-7e3e2e8c99fa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454028.7348092} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"015995fb24f892bc11eebebb34e47b3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"015995fb24f892bc11eebebb34e47b3c"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"015995fb24f892bc11eebebb34e47b3c","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOX0.XSVsJ0L9c5vWcy-yiZ8IiGQq3V5LO6OBXHoebrmR-1U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a4d880a93a9b2cbb904d8e9843744aff","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22107,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454029,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOX0.XSVsJ0L9c5vWcy-yiZ8IiGQq3V5LO6OBXHoebrmR-1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4d880a93a9b2cbb904d8e9843744aff"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.677166964Z"}]},"request_id":"ea7b8cf3-a040-4610-bad8-73ee28df5d4e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454029.2370744} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4d880a93a9b2cbb904d8e9843744aff"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79051276-30ba-4354-941b-283d19818cbf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454029.242303} 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":"a4d880a93a9b2cbb904d8e9843744aff"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.677166964Z"}]},"request_id":"e8ca466a-336e-4272-be50-705a34643bad","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454029.2559292} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4d880a93a9b2cbb904d8e9843744aff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bf0b9a87-f994-446b-9603-08e7509308c4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a4d880a93a9b2cbb904d8e9843744aff"} device-1 | {"level":"info","message":"PATCH /devices/bf0b9a87-f994-446b-9603-08e7509308c4 200 34ms","method":"PATCH","requestID":"a4d880a93a9b2cbb904d8e9843744aff","responseTime":34,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOX0.XSVsJ0L9c5vWcy-yiZ8IiGQq3V5LO6OBXHoebrmR-1U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a102b5c458bf43d50f5d8ea8a5ea745e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901932,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454029,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAyOX0.XSVsJ0L9c5vWcy-yiZ8IiGQq3V5LO6OBXHoebrmR-1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a102b5c458bf43d50f5d8ea8a5ea745e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/bf0b9a87-f994-446b-9603-08e7509308c4/websocket 200 21ms","method":"POST","requestID":"a102b5c458bf43d50f5d8ea8a5ea745e","responseTime":21,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:53:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bf0b9a87-f994-446b-9603-08e7509308c4/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":"a102b5c458bf43d50f5d8ea8a5ea745e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4' 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":"01d797934b6334240cbc5b9131cf98da","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:53:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a51212c7-df7a-4003-b3ef-990cfc9352af/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":"01d797934b6334240cbc5b9131cf98da"} device-1 | {"level":"info","message":"OPTIONS /devices/a51212c7-df7a-4003-b3ef-990cfc9352af/websocket 200 2ms","method":"OPTIONS","requestID":"01d797934b6334240cbc5b9131cf98da","responseTime":2,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d64c718e8c7ab138840d91eb6e9a3d8d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214258,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454030,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw"} 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":"d64c718e8c7ab138840d91eb6e9a3d8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a51212c7-df7a-4003-b3ef-990cfc9352af/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":"d64c718e8c7ab138840d91eb6e9a3d8d"} device-1 | {"level":"info","message":"POST /devices/a51212c7-df7a-4003-b3ef-990cfc9352af/websocket 200 25ms","method":"POST","requestID":"d64c718e8c7ab138840d91eb6e9a3d8d","responseTime":25,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc2f72922ce2eaeb8c57d342085385ee","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.36633,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454030,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw"} 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":"cc2f72922ce2eaeb8c57d342085385ee"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.677166964Z"}]},"request_id":"5d1f922f-4d67-4bff-a07b-b63895e58b1f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454030.8115199} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc2f72922ce2eaeb8c57d342085385ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf0b9a87-f994-446b-9603-08e7509308c4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc2f72922ce2eaeb8c57d342085385ee"} device-1 | {"level":"info","message":"GET /devices/bf0b9a87-f994-446b-9603-08e7509308c4? 200 20ms","method":"GET","requestID":"cc2f72922ce2eaeb8c57d342085385ee","responseTime":20,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f3ec816e123f6a960c968cf11d2b79ff","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.398138,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454030,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw"} 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":"f3ec816e123f6a960c968cf11d2b79ff"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.727910216Z"}]},"request_id":"4bdaaa54-8ddf-47fa-a267-2063b81f3e15","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454030.8414507} 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":"f3ec816e123f6a960c968cf11d2b79ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a51212c7-df7a-4003-b3ef-990cfc9352af? 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":"f3ec816e123f6a960c968cf11d2b79ff"} device-1 | {"level":"info","message":"GET /devices/a51212c7-df7a-4003-b3ef-990cfc9352af? 200 22ms","method":"GET","requestID":"f3ec816e123f6a960c968cf11d2b79ff","responseTime":22,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1cbb81fbb8cc90b68874b7db4dbc4d00","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:57924","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.229285,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454030,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cbb81fbb8cc90b68874b7db4dbc4d00"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"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:57924","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323554,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454030,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"452679a0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932499,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454030,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw"} 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":"4526c7c0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.677166964Z"}]},"request_id":"17d7e36d-9aaf-455b-b579-f6966a4b2d56","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454030.9215086} 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":"452679a0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.727910216Z"}]},"request_id":"66595df9-53ce-4144-9d46-dfa01725983a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454030.9237063} 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":"4526c7c0-3d42-11ef-b841-3faa56dbb9da"},"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/bf0b9a87-f994-446b-9603-08e7509308c4? 200 24ms","method":"GET","requestID":"452679a0-3d42-11ef-b841-3faa56dbb9da","responseTime":24,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a51212c7-df7a-4003-b3ef-990cfc9352af? 200 23ms","method":"GET","requestID":"4526c7c0-3d42-11ef-b841-3faa56dbb9da","responseTime":23,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"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/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.785398,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454030,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw"} 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":"4532fcc0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.191189,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454030,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"453371f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.634621,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad91790b-9f04-4b00-9b63-ea44271c2c86","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.009292} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","rebac_allow":false,"scope_allow":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":"45340e30-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.677166964Z"}]},"request_id":"1fa2fa55-20d6-4456-bc3d-65490a3e7c30","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.0125594} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4532fcc0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"POST /devices/bf0b9a87-f994-446b-9603-08e7509308c4/signaling 200 25ms","method":"POST","requestID":"45340e30-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.727910216Z"}]},"request_id":"15f3448b-5630-4aed-a6d1-6f0865ba5495","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.018548} 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":"453371f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff32a1a1c-15bc-460f-97c3-95e778dfd701#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff32a1a1c-15bc-460f-97c3-95e778dfd701","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"6758d3e0-abaf-48cb-bd53-ed2d78eabbaf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.0271606} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c00f0c14-88c5-4083-8e23-a7d494e5609d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.0276484} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bf0b9a87-f994-446b-9603-08e7509308c4? 200 42ms","method":"GET","requestID":"4532fcc0-3d42-11ef-b841-3faa56dbb9da","responseTime":42,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a51212c7-df7a-4003-b3ef-990cfc9352af? 200 40ms","method":"GET","requestID":"453371f0-3d42-11ef-b841-3faa56dbb9da","responseTime":40,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cbb81fbb8cc90b68874b7db4dbc4d00"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7adf64b4-f246-491a-980a-025eb2f03243","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.0333679} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755395,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:51Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4538c920-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:51Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling 200 12ms","method":"POST","requestID":"4538c920-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"005442f0-8964-4fa9-b37a-46912725e180","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.039003} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.666295,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"453a01a0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:53:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1cbb81fbb8cc90b68874b7db4dbc4d00"} experiment-1 | {"level":"info","message":"POST /experiments? 201 185ms","method":"POST","requestID":"1cbb81fbb8cc90b68874b7db4dbc4d00","responseTime":185,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bf0b9a87-f994-446b-9603-08e7509308c4/signaling 200 9ms","method":"POST","requestID":"453a01a0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMX0.6_oM9XwdJjpYcpS1mdfjyyhLiTgzU_aDVOZTO7Xfyfw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9192cbf2388bb40fe9bdb0ef5da903d7","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:51Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd298dbc-8670-4731-9529-2be9172e9129","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.0509334} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.580249,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"453baf50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:33086","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990683,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454031,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMX0.6_oM9XwdJjpYcpS1mdfjyyhLiTgzU_aDVOZTO7Xfyfw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9192cbf2388bb40fe9bdb0ef5da903d7"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.677166964Z"}]},"request_id":"0559abd4-af51-47ec-8715-b8edfefe40c6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.0587602} device-1 | {"level":"info","message":"POST /devices/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling 200 13ms","method":"POST","requestID":"453baf50-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"9a0cf81e-8d8c-48e0-96a8-0f8172c1f5f9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"66414b13-8265-44ef-be27-353e5f789e8d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a9b8ebf7-a13a-4b14-b4be-aa6a6518d754"}]},"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/a51212c7-df7a-4003-b3ef-990cfc9352af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9192cbf2388bb40fe9bdb0ef5da903d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:51Z"} gateway-1 | {"time_local":"08/Jul/2024:15:53:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf0b9a87-f994-446b-9603-08e7509308c4? 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":"9192cbf2388bb40fe9bdb0ef5da903d7"} device-1 | {"level":"info","message":"GET /devices/bf0b9a87-f994-446b-9603-08e7509308c4? 200 16ms","method":"GET","requestID":"9192cbf2388bb40fe9bdb0ef5da903d7","responseTime":16,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.864941,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454030,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMH0.dH6kUc1HCJf4mAIWUaf4tG76_E-ua45MbPFi0usFKSw"} 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":"453e4760-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMX0.6_oM9XwdJjpYcpS1mdfjyyhLiTgzU_aDVOZTO7Xfyfw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4958fc23dfc41b429ad8ca5632460115","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708137,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454031,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzMX0.6_oM9XwdJjpYcpS1mdfjyyhLiTgzU_aDVOZTO7Xfyfw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4958fc23dfc41b429ad8ca5632460115"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"8286e3a0-6490-4c9e-aa8c-76bfb7d90a6f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.0769885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ee683ff-d477-40c2-a4ee-ea21d2024142","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.0770745} 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":"453e4760-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:48.727910216Z"}]},"request_id":"6bae9c5c-c8c8-424a-a8e7-109c1d7acf5e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.0812547} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4958fc23dfc41b429ad8ca5632460115"},"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/e8da7bf1-b60f-4564-bbbd-84fc06464817'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"453e4760-3d42-11ef-b841-3faa56dbb9da","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a51212c7-df7a-4003-b3ef-990cfc9352af? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4958fc23dfc41b429ad8ca5632460115"} device-1 | {"level":"info","message":"GET /devices/a51212c7-df7a-4003-b3ef-990cfc9352af? 200 21ms","method":"GET","requestID":"4958fc23dfc41b429ad8ca5632460115","responseTime":21,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d03209bb-25cc-43ee-90a2-5ef8dfd6c336","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.1261015} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.812379,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45474810-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bf0b9a87-f994-446b-9603-08e7509308c4/signaling 200 10ms","method":"POST","requestID":"45474810-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f61a4c7d-5396-436a-95b8-76c0adbf4fd6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454031.1384418} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.182979,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","rebac_allow":false,"scope_allow":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":"45491cd0-3d42-11ef-b841-3faa56dbb9da"},"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/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling 200 8ms","method":"POST","requestID":"45491cd0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling"} device-1 | {"data":{"peerconnection":"e8da7bf1-b60f-4564-bbbd-84fc06464817","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/e8da7bf1-b60f-4564-bbbd-84fc06464817' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e8da7bf1-b60f-4564-bbbd-84fc06464817","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":"1ab9e8dcfe0687b93eb94b6e6ba80e5d","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/a51212c7-df7a-4003-b3ef-990cfc9352af'"} 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/a51212c7-df7a-4003-b3ef-990cfc9352af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"1ab9e8dcfe0687b93eb94b6e6ba80e5d","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"1ab9e8dcfe0687b93eb94b6e6ba80e5d"} device-1 | {"data":{"peerconnection":"e8da7bf1-b60f-4564-bbbd-84fc06464817","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e8da7bf1-b60f-4564-bbbd-84fc06464817","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/e8da7bf1-b60f-4564-bbbd-84fc06464817' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e8da7bf1-b60f-4564-bbbd-84fc06464817","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":"8e83bdb0ec26764661fee31980263022","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/a51212c7-df7a-4003-b3ef-990cfc9352af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe8da7bf1-b60f-4564-bbbd-84fc06464817","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"737011ab-0004-43da-bcb6-d6dc2c17cc7c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.2934358} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.04922,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46917b50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817 200 15ms","method":"GET","requestID":"46917b50-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"8e83bdb0ec26764661fee31980263022","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e83bdb0ec26764661fee31980263022"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35b922fc-f0a1-4b5f-ad8f-5f03f25427e7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.3326292} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.784877,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","rebac_allow":false,"scope_allow":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":"469795d0-3d42-11ef-b841-3faa56dbb9da"},"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/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling 200 14ms","method":"POST","requestID":"469795d0-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23382495-edcf-47c4-b851-431412ec17eb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.3499427} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.830336,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","rebac_allow":false,"scope_allow":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":"469a54f0-3d42-11ef-b841-3faa56dbb9da"},"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/bf0b9a87-f994-446b-9603-08e7509308c4/signaling 200 14ms","method":"POST","requestID":"469a54f0-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzM30.0ZyM_mvDHSkuKDSgKkXEdkMFyDz4RWICZCCK1rDZJ-k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"87ea89fd344fa3ca2e8fb51db9b39e90","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.282265,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454033,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzM30.0ZyM_mvDHSkuKDSgKkXEdkMFyDz4RWICZCCK1rDZJ-k"} 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":"87ea89fd344fa3ca2e8fb51db9b39e90"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"} gateway-1 | {"time_local":"08/Jul/2024:15:53:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87ea89fd344fa3ca2e8fb51db9b39e90"} experiment-1 | {"level":"info","message":"GET /experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701 200 16ms","method":"GET","requestID":"87ea89fd344fa3ca2e8fb51db9b39e90","responseTime":16,"status":200,"url":"/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzM30.0ZyM_mvDHSkuKDSgKkXEdkMFyDz4RWICZCCK1rDZJ-k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5a00f7416ce40b0bb5a5be6b503da1fd","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.275642,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454033,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzM30.0ZyM_mvDHSkuKDSgKkXEdkMFyDz4RWICZCCK1rDZJ-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a00f7416ce40b0bb5a5be6b503da1fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.316261,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454033,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzM30.0ZyM_mvDHSkuKDSgKkXEdkMFyDz4RWICZCCK1rDZJ-k"} 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":"46b38240-3d42-11ef-b841-3faa56dbb9da"},"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/e8da7bf1-b60f-4564-bbbd-84fc06464817' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e8da7bf1-b60f-4564-bbbd-84fc06464817","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":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe8da7bf1-b60f-4564-bbbd-84fc06464817': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe8da7bf1-b60f-4564-bbbd-84fc06464817","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"9277dadf-ddd5-4db6-be3e-c9b9fbc9b604","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.5365388} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"feaac9ffef9ef011fe866aa8cb3644f4","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4642819-b3c9-4411-b625-eecfeefcfb9b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.537277} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/a51212c7-df7a-4003-b3ef-990cfc9352af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ea7e96aac05471fee185055f08191427","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46b38240-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"e8da7bf1-b60f-4564-bbbd-84fc06464817","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/e8da7bf1-b60f-4564-bbbd-84fc06464817 204 55ms","method":"DELETE","requestID":"46b38240-3d42-11ef-b841-3faa56dbb9da","responseTime":55,"status":204,"url":"/peerconnections/e8da7bf1-b60f-4564-bbbd-84fc06464817"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51212c7-df7a-4003-b3ef-990cfc9352af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b3d054b-ae8c-4faf-83d9-68bf0d33fedb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.5996022} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.61733,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af","object_type":"device","rebac_allow":false,"scope_allow":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":"46c00560-3d42-11ef-b841-3faa56dbb9da"},"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/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling 200 17ms","method":"POST","requestID":"46c00560-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/a51212c7-df7a-4003-b3ef-990cfc9352af/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff32a1a1c-15bc-460f-97c3-95e778dfd701': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff32a1a1c-15bc-460f-97c3-95e778dfd701","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"0ed83fd3-f3f7-4d21-a806-81d1b21bcbd3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.6085134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e68d7e6-237f-4503-8001-6faa53fa8bf4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.6091814} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a00f7416ce40b0bb5a5be6b503da1fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf0b9a87-f994-446b-9603-08e7509308c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cacff6fd-264b-4b13-a6e3-afb901f4074d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.618683} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.980477,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf0b9a87-f994-446b-9603-08e7509308c4","object_type":"device","rebac_allow":false,"scope_allow":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":"46c339b0-3d42-11ef-b841-3faa56dbb9da"},"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/bf0b9a87-f994-446b-9603-08e7509308c4/signaling 200 15ms","method":"POST","requestID":"46c339b0-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/bf0b9a87-f994-446b-9603-08e7509308c4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"} gateway-1 | {"time_local":"08/Jul/2024:15:53:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a00f7416ce40b0bb5a5be6b503da1fd"} gateway-1 | {"time_local":"08/Jul/2024:15:53:53 +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.400","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"94bb14389bba1fe9bcfa20e7e9c9aaf0"} experiment-1 | {"level":"info","message":"DELETE /experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701 204 197ms","method":"DELETE","requestID":"5a00f7416ce40b0bb5a5be6b503da1fd","responseTime":197,"status":204,"url":"/experiments/f32a1a1c-15bc-460f-97c3-95e778dfd701"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"feaac9ffef9ef011fe866aa8cb3644f4","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"feaac9ffef9ef011fe866aa8cb3644f4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"ea7e96aac05471fee185055f08191427","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea7e96aac05471fee185055f08191427"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzM30.0ZyM_mvDHSkuKDSgKkXEdkMFyDz4RWICZCCK1rDZJ-k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5da51567cc826b3adc329cca0f05a07f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:53:53 +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.924","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c81b3db0a4d8efa3511cc5791052feea"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.989612,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454033,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzM30.0ZyM_mvDHSkuKDSgKkXEdkMFyDz4RWICZCCK1rDZJ-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5da51567cc826b3adc329cca0f05a07f"},"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/bf0b9a87-f994-446b-9603-08e7509308c4' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5890c967-ec18-4707-897d-6a448484e145","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.7184465} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5da51567cc826b3adc329cca0f05a07f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a62bb795-e68b-498b-ae72-81bea1114bc5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.7234848} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a51212c7-df7a-4003-b3ef-990cfc9352af' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5da51567cc826b3adc329cca0f05a07f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"fb85eb32-d33c-4aa1-84fc-84abf75b3d7d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.7320862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7ebe2c6-e93c-47de-84c4-fab9a3f1025f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.7322605} 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":"5da51567cc826b3adc329cca0f05a07f"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.732068513Z"}]},"request_id":"a2ea988c-7304-4695-9c62-9c079d074c09","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.7367158} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5da51567cc826b3adc329cca0f05a07f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5da51567cc826b3adc329cca0f05a07f"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"5da51567cc826b3adc329cca0f05a07f","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzM30.0ZyM_mvDHSkuKDSgKkXEdkMFyDz4RWICZCCK1rDZJ-k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9bf4d3cf3c21e704927e1ca084461aa9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.898437,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454033,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzM30.0ZyM_mvDHSkuKDSgKkXEdkMFyDz4RWICZCCK1rDZJ-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bf4d3cf3c21e704927e1ca084461aa9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9aec8972-de7c-4fa7-9777-5a5a1b35d83b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.7670846} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bf4d3cf3c21e704927e1ca084461aa9"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"083e7a9f-3847-4735-be6f-5cd0e1aa1c1c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.7721307} 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":"9bf4d3cf3c21e704927e1ca084461aa9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"917f1738-db93-4cc1-9110-5a5c974cac65","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.783724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cfd0df9-c7e5-4da0-b5aa-464245bfed08","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.7839983} 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":"9bf4d3cf3c21e704927e1ca084461aa9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.783705772Z"}]},"request_id":"dc08b51a-2969-40f5-8440-e91289d3c616","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454033.7893162} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bf4d3cf3c21e704927e1ca084461aa9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9bf4d3cf3c21e704927e1ca084461aa9"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"9bf4d3cf3c21e704927e1ca084461aa9","responseTime":46,"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":"c40ad5d6a64bf44f983241ee604627f1","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:53:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/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":"c40ad5d6a64bf44f983241ee604627f1"} device-1 | {"level":"info","message":"OPTIONS /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/websocket 200 1ms","method":"OPTIONS","requestID":"c40ad5d6a64bf44f983241ee604627f1","responseTime":1,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cd42bfa838f471ebe970e0276c72690e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86605,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:55Z"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"037382e4342789a3e7f81ba4e3a681e6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd42bfa838f471ebe970e0276c72690e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"08/Jul/2024:15:53:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/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":"037382e4342789a3e7f81ba4e3a681e6"} device-1 | {"level":"info","message":"OPTIONS /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/websocket 200 1ms","method":"OPTIONS","requestID":"037382e4342789a3e7f81ba4e3a681e6","responseTime":1,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"19d8967066ab2ac978ae700fe8b03343","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859446,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19d8967066ab2ac978ae700fe8b03343"},"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/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/websocket 200 23ms","method":"POST","requestID":"cd42bfa838f471ebe970e0276c72690e","responseTime":23,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:53:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/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":"cd42bfa838f471ebe970e0276c72690e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"19d8967066ab2ac978ae700fe8b03343"} device-1 | {"level":"info","message":"POST /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/websocket 200 20ms","method":"POST","requestID":"19d8967066ab2ac978ae700fe8b03343","responseTime":20,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b4149fea832a3a4d4396864b08a96b0e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.157755,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4149fea832a3a4d4396864b08a96b0e"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.732068513Z"}]},"request_id":"8be95f13-65fc-401f-90f9-2a98e6173271","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454035.8443024} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4149fea832a3a4d4396864b08a96b0e"},"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/74b4a656-5f6e-4d91-8ae9-b6423f7c9232? 200 18ms","method":"GET","requestID":"b4149fea832a3a4d4396864b08a96b0e","responseTime":18,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232?"} gateway-1 | {"time_local":"08/Jul/2024:15:53:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232? 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":"b4149fea832a3a4d4396864b08a96b0e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"05b996fca8eacb33bb5f59891a24fd40","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663557,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05b996fca8eacb33bb5f59891a24fd40"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.783705772Z"}]},"request_id":"1bcd40bf-0fb0-4619-a79e-00c7f92caaf6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454035.868445} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05b996fca8eacb33bb5f59891a24fd40"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f? 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":"05b996fca8eacb33bb5f59891a24fd40"} device-1 | {"level":"info","message":"GET /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f? 200 18ms","method":"GET","requestID":"05b996fca8eacb33bb5f59891a24fd40","responseTime":18,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a88613ea338ce11ab59f4e5c68a0073f","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:57924","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.345523,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} 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":"a88613ea338ce11ab59f4e5c68a0073f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"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:57924","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650927,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48253ab0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.067204,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} 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":"4825afe0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.732068513Z"}]},"request_id":"07a2aa0c-a6f0-4d47-86cc-6b99e175f0cd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454035.9432929} 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":"48253ab0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.783705772Z"}]},"request_id":"def3aefb-c3f1-41d3-ba60-a794d77d1244","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454035.9496012} 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":"4825afe0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232? 200 20ms","method":"GET","requestID":"48253ab0-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f? 200 22ms","method":"GET","requestID":"4825afe0-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"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:57924","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.977965,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48316fb0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.033835,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} 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":"4831bdd0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57080162-e791-437c-bd80-6d0637dfed5a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.023665} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.521554,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48320bf0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.783705772Z"}]},"request_id":"97ea9d67-1e32-44b7-a9c5-4b9e22706ebd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.026503} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4831bdd0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.732068513Z"}]},"request_id":"40b7467e-1d68-4ac7-9279-8c9820455814","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.0287585} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48316fb0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling 200 16ms","method":"POST","requestID":"48320bf0-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f? 200 24ms","method":"GET","requestID":"4831bdd0-3d42-11ef-b841-3faa56dbb9da","responseTime":24,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232? 200 27ms","method":"GET","requestID":"48316fb0-3d42-11ef-b841-3faa56dbb9da","responseTime":27,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e416481-bd01-4109-b309-ddc8d9ba1b11#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e416481-bd01-4109-b309-ddc8d9ba1b11","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"d9a93d3e-134c-42c7-94df-92c37f94a422","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.0407672} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b87017af-502d-4c74-a64f-5b2f3a45ca1d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.0407774} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23855c0b-3152-4f97-9d36-b7d0d7691bbd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.0410235} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a88613ea338ce11ab59f4e5c68a0073f"},"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:57924","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.607276,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","rebac_allow":false,"scope_allow":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":"4834f220-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/signaling 200 14ms","method":"POST","requestID":"4834f220-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"825cb9d2-ab7c-44c2-8cca-6dc51e46b77c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.0492997} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.942298,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48362aa0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:53:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a88613ea338ce11ab59f4e5c68a0073f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"a88613ea338ce11ab59f4e5c68a0073f","responseTime":171,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling 200 12ms","method":"POST","requestID":"48362aa0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d518b1c3b88ac4e8bdc75d68afa2e04b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56e5136f-b3ea-4606-afd6-f0da0c9609e2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.0610983} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.44996,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48384d80-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.758173,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454036,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d518b1c3b88ac4e8bdc75d68afa2e04b"},"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/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/signaling 200 12ms","method":"POST","requestID":"48384d80-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.732068513Z"}]},"request_id":"6d362954-d1a5-468f-b122-223a6d236eb3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.068719} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"44fc0165-1d53-4c80-9d65-aa55620b88ca"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"3608edd0-18d4-44e6-8dec-9444f6d33690"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"42f60daf-8023-4b57-a54d-be858cd91ca6"}]},"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/74b4a656-5f6e-4d91-8ae9-b6423f7c9232"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f"}],"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":"d518b1c3b88ac4e8bdc75d68afa2e04b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232? 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":"d518b1c3b88ac4e8bdc75d68afa2e04b"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} device-1 | {"level":"info","message":"GET /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232? 200 16ms","method":"GET","requestID":"d518b1c3b88ac4e8bdc75d68afa2e04b","responseTime":16,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.864814,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454035,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNX0.gf5e1hAe2UvmtCFshMAUV0SsI7yWICokgzqVkh_VoaI"} 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":"483a9770-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1b281251d7a175d6755c14cac97b3eca","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701112,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454036,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b281251d7a175d6755c14cac97b3eca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"0b6153f3-aa71-436d-ac9a-44c848928e7e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.0876532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edddc1b9-d22e-4d06-8338-d0a8344b581e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.0879323} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:53.783705772Z"}]},"request_id":"c01d1626-bbe9-4c3f-a1ec-680ea7c8cba7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.088702} 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":"483a9770-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b281251d7a175d6755c14cac97b3eca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f? 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":"1b281251d7a175d6755c14cac97b3eca"} device-1 | {"level":"info","message":"GET /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f? 200 15ms","method":"GET","requestID":"1b281251d7a175d6755c14cac97b3eca","responseTime":15,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f?"} 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/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474'"} 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":"483a9770-3d42-11ef-b841-3faa56dbb9da","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/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"516cf362-b0cf-4673-a94b-6338c005ed3e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.139403} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.976515,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48443460-3d42-11ef-b841-3faa56dbb9da"},"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/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling 200 15ms","method":"POST","requestID":"48443460-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f9baaf0-35b0-4f3d-b7d4-43d6f929aab0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.155893} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.617442,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4846cc70-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/signaling 200 10ms","method":"POST","requestID":"4846cc70-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","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":"b52aa242c269b457fb3a802483ae74fe","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/74b4a656-5f6e-4d91-8ae9-b6423f7c9232"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"b52aa242c269b457fb3a802483ae74fe","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"b52aa242c269b457fb3a802483ae74fe"} device-1 | {"data":{"peerconnection":"6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","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/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","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":"404c0ca12b7ad2a40f15cc4c97b0d367","responseTime":0,"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/74b4a656-5f6e-4d91-8ae9-b6423f7c9232"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b84f0a7-6544-4d8b-9388-13923385c8b9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.2321408} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.644077,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","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":"48523e20-3d42-11ef-b841-3faa56dbb9da"},"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/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474 200 11ms","method":"GET","requestID":"48523e20-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"404c0ca12b7ad2a40f15cc4c97b0d367","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"404c0ca12b7ad2a40f15cc4c97b0d367"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91bd2631-cbee-4d73-a349-d806450f0284","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.2652807} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533192,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48576e40-3d42-11ef-b841-3faa56dbb9da"},"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/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling 200 10ms","method":"POST","requestID":"48576e40-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9838d51c-a3a9-41c2-9edd-cf67b77f319a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.2787971} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.798255,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48594300-3d42-11ef-b841-3faa56dbb9da"},"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/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/signaling 200 12ms","method":"POST","requestID":"48594300-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4b9da7f26c928541c3639d8a6a03af8b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.279556,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454036,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ"} 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":"4b9da7f26c928541c3639d8a6a03af8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"} gateway-1 | {"time_local":"08/Jul/2024:15:53:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b9da7f26c928541c3639d8a6a03af8b"} experiment-1 | {"level":"info","message":"GET /experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11 200 19ms","method":"GET","requestID":"4b9da7f26c928541c3639d8a6a03af8b","responseTime":19,"status":200,"url":"/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"3c9266acd6a417548e983e72271ae468","responseTime":8,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.28748,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454036,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","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":"3c9266acd6a417548e983e72271ae468"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.078955,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454036,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ"} 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":"487be630-3d42-11ef-b841-3faa56dbb9da"},"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/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","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":"cf8c9a62031a03636e044bc5cce76435","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":"connected","url":"http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"25fc016bd7ec1555c100f6aa564dc7c7","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"70bf1a20-7689-4a91-bf16-c4260f721d95","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.5266638} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9cad28c-8bcf-4d14-aa3d-2532447ad815","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.5270436} 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/74b4a656-5f6e-4d91-8ae9-b6423f7c9232"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"487be630-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"data":{"peerconnection":"6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474","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/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474 204 44ms","method":"DELETE","requestID":"487be630-3d42-11ef-b841-3faa56dbb9da","responseTime":44,"status":204,"url":"/peerconnections/6d8cf546-b0e9-4b0b-ac2d-0b64c52ef474"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74b4a656-5f6e-4d91-8ae9-b6423f7c9232","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc36145c-5b2b-4fd4-92d3-3d294f0f8aac","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.5759592} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.568151,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48864670-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e416481-bd01-4109-b309-ddc8d9ba1b11': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e416481-bd01-4109-b309-ddc8d9ba1b11","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"1981023c-8a03-44ac-acd7-0c8930e51044","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.581235} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling 200 15ms","method":"POST","requestID":"48864670-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a2ce882-a47e-4802-85a8-a65061d43d0c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.581664} 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":"3c9266acd6a417548e983e72271ae468"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13ede23e-d209-4097-a1cc-21d73cbc95c5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.5914352} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.818643,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48890590-3d42-11ef-b841-3faa56dbb9da"},"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/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/signaling 200 11ms","method":"POST","requestID":"48890590-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"} gateway-1 | {"time_local":"08/Jul/2024:15:53:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c9266acd6a417548e983e72271ae468"} experiment-1 | {"level":"info","message":"DELETE /experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11 204 185ms","method":"DELETE","requestID":"3c9266acd6a417548e983e72271ae468","responseTime":185,"status":204,"url":"/experiments/4e416481-bd01-4109-b309-ddc8d9ba1b11"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"cf8c9a62031a03636e044bc5cce76435","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf8c9a62031a03636e044bc5cce76435"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"25fc016bd7ec1555c100f6aa564dc7c7","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"25fc016bd7ec1555c100f6aa564dc7c7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"abeec1bbafe8dbff5ed0a8642e2842d9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:53:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2629","request_time":"0.860","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e54c30c37ef587c91f93b04f31d6163a"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} gateway-1 | {"time_local":"08/Jul/2024:15:53:56 +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.876","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a28330648ce0225b35d3c38d52c2dae9"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.932147,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454036,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ"} 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":"abeec1bbafe8dbff5ed0a8642e2842d9"},"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/2e92de31-eb3e-4ba2-8aff-3c7ba85ae63f' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/74b4a656-5f6e-4d91-8ae9-b6423f7c9232' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6dce91a7-ce69-43f4-9193-6ccf04516054","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7009206} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abeec1bbafe8dbff5ed0a8642e2842d9"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5954d9ff-291c-4d08-bf70-c07f0ec8528b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7054207} 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":"abeec1bbafe8dbff5ed0a8642e2842d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"c44f6ac5-009a-4b8c-8c57-3c8d0ed9dd8d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7162685} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e002b35c-337a-440e-843a-e99831cf0856","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7164705} 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":"abeec1bbafe8dbff5ed0a8642e2842d9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.716242280Z"}]},"request_id":"a7fa2e90-24df-4181-8bb1-6459906de7d9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7206454} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abeec1bbafe8dbff5ed0a8642e2842d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"abeec1bbafe8dbff5ed0a8642e2842d9"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"abeec1bbafe8dbff5ed0a8642e2842d9","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"86a76d9634d2a124b3355b7695e2086a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.71629,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454036,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzNn0.z-da2wzfn2gOtGGUQ52XQ-51bmayeNu8ydbrEUL3hxQ"} 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":"86a76d9634d2a124b3355b7695e2086a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ec88f6ed-06cb-463f-88e7-50726eba603b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7524242} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86a76d9634d2a124b3355b7695e2086a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe5d57ac-86a5-4623-a4cb-4156f0ec583d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7569692} 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":"86a76d9634d2a124b3355b7695e2086a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"de82b704-f1dd-4f01-b94c-7fcff4aa34dc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7697263} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7753cc43-8f21-40ec-88b5-677bfa5dbf5c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7699466} 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":"86a76d9634d2a124b3355b7695e2086a"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.769688620Z"}]},"request_id":"f270ecd6-c57c-486a-9491-26e91a18bce3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454036.7760947} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86a76d9634d2a124b3355b7695e2086a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53: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.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86a76d9634d2a124b3355b7695e2086a"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"86a76d9634d2a124b3355b7695e2086a","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzN30.TjJUs3pgTUDnYDDSP0ZfL2vEZkkdGNYh4-aqaUHE8YA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b338c7cb00f9d61373081995d2fc785d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.390682,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454037,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzN30.TjJUs3pgTUDnYDDSP0ZfL2vEZkkdGNYh4-aqaUHE8YA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b338c7cb00f9d61373081995d2fc785d"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.769688620Z"}]},"request_id":"335c5148-ce46-40a0-996c-a8fe32032258","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454037.278843} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b338c7cb00f9d61373081995d2fc785d"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b823aca-a4b1-4c5e-a9dc-07353b8630a9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454037.2859569} 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":"b338c7cb00f9d61373081995d2fc785d"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.769688620Z"}]},"request_id":"2f04e893-bf5a-4fa0-b86b-71de3eb8baa0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454037.2999995} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b338c7cb00f9d61373081995d2fc785d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734 200 39ms","method":"PATCH","requestID":"b338c7cb00f9d61373081995d2fc785d","responseTime":39,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734"} gateway-1 | {"time_local":"08/Jul/2024:15:53:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734 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":"b338c7cb00f9d61373081995d2fc785d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzN30.TjJUs3pgTUDnYDDSP0ZfL2vEZkkdGNYh4-aqaUHE8YA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"487000b3fbf7d7b5327bd14f7658cab7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.294743,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454037,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzN30.TjJUs3pgTUDnYDDSP0ZfL2vEZkkdGNYh4-aqaUHE8YA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"487000b3fbf7d7b5327bd14f7658cab7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/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":"487000b3fbf7d7b5327bd14f7658cab7"} device-1 | {"level":"info","message":"POST /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/websocket 200 22ms","method":"POST","requestID":"487000b3fbf7d7b5327bd14f7658cab7","responseTime":22,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734' 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":"8b22557e930e35b0d8217aff673bdbfb","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:53:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8b22557e930e35b0d8217aff673bdbfb"} device-1 | {"level":"info","message":"OPTIONS /devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/websocket 200 1ms","method":"OPTIONS","requestID":"8b22557e930e35b0d8217aff673bdbfb","responseTime":1,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1a983d07de2405e8be75458d9f0edeaf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.321629,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454038,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1a983d07de2405e8be75458d9f0edeaf"},"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/dccbc5f2-18c2-4092-a94b-570635d18e0c/websocket 200 24ms","method":"POST","requestID":"1a983d07de2405e8be75458d9f0edeaf","responseTime":24,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:53:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/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":"1a983d07de2405e8be75458d9f0edeaf"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5405ee4e1d5fd5a1a927c5207d9606a6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.344925,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454038,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk"} 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":"5405ee4e1d5fd5a1a927c5207d9606a6"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.716242280Z"}]},"request_id":"f25bd414-1990-4672-8ef7-7d94b5b96256","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454038.8519864} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5405ee4e1d5fd5a1a927c5207d9606a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dccbc5f2-18c2-4092-a94b-570635d18e0c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5405ee4e1d5fd5a1a927c5207d9606a6"} device-1 | {"level":"info","message":"GET /devices/dccbc5f2-18c2-4092-a94b-570635d18e0c? 200 20ms","method":"GET","requestID":"5405ee4e1d5fd5a1a927c5207d9606a6","responseTime":20,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d605c89d9c9cb624008ce66a76e2da29","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.839208,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454038,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d605c89d9c9cb624008ce66a76e2da29"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.769688620Z"}]},"request_id":"cc66b65d-a4ea-4a97-8e51-b00e62237e0b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454038.879756} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d605c89d9c9cb624008ce66a76e2da29"},"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/efd84ba7-e3fb-4443-aa2c-57dfc1479734? 200 20ms","method":"GET","requestID":"d605c89d9c9cb624008ce66a76e2da29","responseTime":20,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734?"} gateway-1 | {"time_local":"08/Jul/2024:15:53:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734? 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":"d605c89d9c9cb624008ce66a76e2da29"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6662b6a0997ae5e22db00873dd082804","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:57924","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.388253,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454038,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk"} 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":"6662b6a0997ae5e22db00873dd082804"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"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:57924","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21848,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454038,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk"} 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":"49f0d2f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28037,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454038,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49f14820-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.716242280Z"}]},"request_id":"1cd0a16f-e503-4631-92ab-118b73711c37","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454038.956416} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49f0d2f0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.769688620Z"}]},"request_id":"975c5594-2839-4c8e-b2f4-f6f883e48538","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454038.9575527} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49f14820-3d42-11ef-b841-3faa56dbb9da"},"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/dccbc5f2-18c2-4092-a94b-570635d18e0c? 200 21ms","method":"GET","requestID":"49f0d2f0-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734? 200 19ms","method":"GET","requestID":"49f14820-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"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/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762985,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454038,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49fd7d20-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.981614,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454038,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk"} 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":"49fda430-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.108375,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5470d231-e32e-4405-b1cf-122bddac4952","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.0371106} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","rebac_allow":false,"scope_allow":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":"49fdf250-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.716242280Z"}]},"request_id":"1c150fa0-6137-49b2-a933-b4e6c680b28e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.0431833} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49fd7d20-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.769688620Z"}]},"request_id":"cdb405ef-3f06-4377-8287-aafff452329a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.0490701} device-1 | {"level":"info","message":"POST /devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/signaling 200 21ms","method":"POST","requestID":"49fdf250-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/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":"49fda430-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dccbc5f2-18c2-4092-a94b-570635d18e0c? 200 34ms","method":"GET","requestID":"49fd7d20-3d42-11ef-b841-3faa56dbb9da","responseTime":34,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F64e27526-f958-4353-9a3f-bad2e46b60d4#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F64e27526-f958-4353-9a3f-bad2e46b60d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"d1ac33fa-28b1-42b3-9840-b0748bdf8a52","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.0594275} device-1 | {"level":"info","message":"GET /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734? 200 34ms","method":"GET","requestID":"49fda430-3d42-11ef-b841-3faa56dbb9da","responseTime":34,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20e48495-d63d-4c1f-ad2c-8529803d4642","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.059827} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6662b6a0997ae5e22db00873dd082804"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8ca8977-07ef-4baa-aa81-cfa11e4693b4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.0630984} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.045506,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a023810-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/signaling 200 12ms","method":"POST","requestID":"4a023810-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80305834-005a-4883-a7f3-1e2e659f27ce","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.0701196} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.931038,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 177ms","method":"POST","requestID":"6662b6a0997ae5e22db00873dd082804","responseTime":177,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"08/Jul/2024:15:53:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6662b6a0997ae5e22db00873dd082804"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a032270-3d42-11ef-b841-3faa56dbb9da"},"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/dccbc5f2-18c2-4092-a94b-570635d18e0c/signaling 200 12ms","method":"POST","requestID":"4a032270-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOX0.vpfpR07lpvIqIjpQh31zSgAklZqU-4mewvn8JbUt5Kk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d4f02b18dece532f5868e02b3cc74fcd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55666","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205062,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454039,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOX0.vpfpR07lpvIqIjpQh31zSgAklZqU-4mewvn8JbUt5Kk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4f02b18dece532f5868e02b3cc74fcd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d5bc431-f56e-4320-9320-bf45e6f15c95","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.0859118} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.45222,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a059370-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.716242280Z"}]},"request_id":"f7f67973-1635-4316-bdcf-a5f3ed702dd8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.0899727} device-1 | {"level":"info","message":"POST /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/signaling 200 11ms","method":"POST","requestID":"4a059370-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/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":"d4f02b18dece532f5868e02b3cc74fcd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"600b4142-3600-4564-8b60-06405b5bcbca"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"d8ceb6fb-8822-415a-a336-ee8188830714"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"7ed14613-c384-4b94-bc7b-a4566f84fb43"}]},"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/efd84ba7-e3fb-4443-aa2c-57dfc1479734"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dccbc5f2-18c2-4092-a94b-570635d18e0c? 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":"d4f02b18dece532f5868e02b3cc74fcd"} device-1 | {"level":"info","message":"GET /devices/dccbc5f2-18c2-4092-a94b-570635d18e0c? 200 15ms","method":"GET","requestID":"d4f02b18dece532f5868e02b3cc74fcd","responseTime":15,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.047246,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454038,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOH0.HURfwVLF8mkqjpnpFD-NjfNSiZfPo6rjGvZHggNkBVk"} 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":"4a07b650-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOX0.vpfpR07lpvIqIjpQh31zSgAklZqU-4mewvn8JbUt5Kk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4f148fc51f08adf30998c5ca1013d197","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779055,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454039,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDAzOX0.vpfpR07lpvIqIjpQh31zSgAklZqU-4mewvn8JbUt5Kk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f148fc51f08adf30998c5ca1013d197"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"def844ed-d8a9-48a7-ad88-492be0ef31bd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.1115627} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4064c216-b052-47d0-884d-1cc723291879","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.1118178} 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":"4a07b650-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:53:56.769688620Z"}]},"request_id":"a0735068-d636-43a5-a405-f9540a7311d0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.112854} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f148fc51f08adf30998c5ca1013d197"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:53:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734? 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":"4f148fc51f08adf30998c5ca1013d197"} device-1 | {"level":"info","message":"GET /devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734? 200 23ms","method":"GET","requestID":"4f148fc51f08adf30998c5ca1013d197","responseTime":23,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734?"} 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/27b7bf99-d438-485c-a288-bb995c40f4bc'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc'"} 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":"4a07b650-3d42-11ef-b841-3faa56dbb9da","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/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85cf2629-7bfe-433a-bf3d-0ed8a70cb689","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.160079} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.219254,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a110520-3d42-11ef-b841-3faa56dbb9da"},"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/dccbc5f2-18c2-4092-a94b-570635d18e0c/signaling 200 10ms","method":"POST","requestID":"4a110520-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9931797e-c6b0-4bba-81f8-c9452cccfd46","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454039.171321} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.284384,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:53:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","rebac_allow":false,"scope_allow":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":"4a12d9e0-3d42-11ef-b841-3faa56dbb9da"},"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/efd84ba7-e3fb-4443-aa2c-57dfc1479734/signaling 200 9ms","method":"POST","requestID":"4a12d9e0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/signaling"} device-1 | {"data":{"peerconnection":"27b7bf99-d438-485c-a288-bb995c40f4bc","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/27b7bf99-d438-485c-a288-bb995c40f4bc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"27b7bf99-d438-485c-a288-bb995c40f4bc","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":"2e2e5b4a818dbaf5e0050fbc5157cb22","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"2e2e5b4a818dbaf5e0050fbc5157cb22","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"2e2e5b4a818dbaf5e0050fbc5157cb22"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c'"} device-1 | {"data":{"peerconnection":"27b7bf99-d438-485c-a288-bb995c40f4bc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"27b7bf99-d438-485c-a288-bb995c40f4bc","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/27b7bf99-d438-485c-a288-bb995c40f4bc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"27b7bf99-d438-485c-a288-bb995c40f4bc","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8e6af2671044a2362dff8a219796c8d8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F27b7bf99-d438-485c-a288-bb995c40f4bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e50456be-2cf2-4418-8935-e7844508785e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.30469} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.838397,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc","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":"4b582b20-3d42-11ef-b841-3faa56dbb9da"},"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/27b7bf99-d438-485c-a288-bb995c40f4bc 200 12ms","method":"GET","requestID":"4b582b20-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"8e6af2671044a2362dff8a219796c8d8","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e6af2671044a2362dff8a219796c8d8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79792dcc-6ea9-49cc-abe9-9da289d90020","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.3397198} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.893754,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b5da960-3d42-11ef-b841-3faa56dbb9da"},"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/efd84ba7-e3fb-4443-aa2c-57dfc1479734/signaling 200 10ms","method":"POST","requestID":"4b5da960-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b1672ab-41a2-4736-be5f-dea6ab1bb052","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.3531291} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.797764,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b5fa530-3d42-11ef-b841-3faa56dbb9da"},"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/dccbc5f2-18c2-4092-a94b-570635d18e0c/signaling 200 11ms","method":"POST","requestID":"4b5fa530-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0MX0.qnhqtslyTqaAee9RHNeKY5aiOpKrcjZChJk1FvzGjGU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"73bbaa721d01bb80aaaf8ac69ec2fc09","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.255478,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454041,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0MX0.qnhqtslyTqaAee9RHNeKY5aiOpKrcjZChJk1FvzGjGU"} 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":"73bbaa721d01bb80aaaf8ac69ec2fc09"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"} gateway-1 | {"time_local":"08/Jul/2024:15:54:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/64e27526-f958-4353-9a3f-bad2e46b60d4 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73bbaa721d01bb80aaaf8ac69ec2fc09"} experiment-1 | {"level":"info","message":"GET /experiments/64e27526-f958-4353-9a3f-bad2e46b60d4 200 18ms","method":"GET","requestID":"73bbaa721d01bb80aaaf8ac69ec2fc09","responseTime":18,"status":200,"url":"/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0MX0.qnhqtslyTqaAee9RHNeKY5aiOpKrcjZChJk1FvzGjGU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2111100ae32b2608c921bd7897ebbd3d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.272353,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454041,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0MX0.qnhqtslyTqaAee9RHNeKY5aiOpKrcjZChJk1FvzGjGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2111100ae32b2608c921bd7897ebbd3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.667159,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454041,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0MX0.qnhqtslyTqaAee9RHNeKY5aiOpKrcjZChJk1FvzGjGU"} 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":"4b8814c0-3d42-11ef-b841-3faa56dbb9da"},"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/27b7bf99-d438-485c-a288-bb995c40f4bc' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"27b7bf99-d438-485c-a288-bb995c40f4bc","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F27b7bf99-d438-485c-a288-bb995c40f4bc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F27b7bf99-d438-485c-a288-bb995c40f4bc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"e9adf4b3-a2f4-48f7-8b46-86900b2709ff","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.6279478} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"475a6113b68a563eb271342ac29f1d21","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16d6526b-0efe-4ffa-8d3d-26df93a16dd9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.627979} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc"}}},"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":"c365a95d3cfe98eb40a0f837aed2092b","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b8814c0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"27b7bf99-d438-485c-a288-bb995c40f4bc","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/27b7bf99-d438-485c-a288-bb995c40f4bc 204 35ms","method":"DELETE","requestID":"4b8814c0-3d42-11ef-b841-3faa56dbb9da","responseTime":35,"status":204,"url":"/peerconnections/27b7bf99-d438-485c-a288-bb995c40f4bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefd84ba7-e3fb-4443-aa2c-57dfc1479734","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfae5c3d-0048-44a6-b267-1e5eae614c39","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.671049} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.135866,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734","object_type":"device","rebac_allow":false,"scope_allow":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":"4b902b10-3d42-11ef-b841-3faa56dbb9da"},"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/efd84ba7-e3fb-4443-aa2c-57dfc1479734/signaling 200 12ms","method":"POST","requestID":"4b902b10-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/efd84ba7-e3fb-4443-aa2c-57dfc1479734/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F64e27526-f958-4353-9a3f-bad2e46b60d4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F64e27526-f958-4353-9a3f-bad2e46b60d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"6344604a-66a2-4472-9c7d-f3401087e5e5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.678336} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"513c489a-7c8d-420a-ba09-30ed866001a1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.6786442} 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":"2111100ae32b2608c921bd7897ebbd3d"},"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:57924","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdccbc5f2-18c2-4092-a94b-570635d18e0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8484bdd6-ec1c-4377-b241-dd2343a507f0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.6868844} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.644361,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c","object_type":"device","rebac_allow":false,"scope_allow":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":"4b927500-3d42-11ef-b841-3faa56dbb9da"},"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/dccbc5f2-18c2-4092-a94b-570635d18e0c/signaling 200 13ms","method":"POST","requestID":"4b927500-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/dccbc5f2-18c2-4092-a94b-570635d18e0c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"} gateway-1 | {"time_local":"08/Jul/2024:15:54:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/64e27526-f958-4353-9a3f-bad2e46b60d4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2111100ae32b2608c921bd7897ebbd3d"} gateway-1 | {"time_local":"08/Jul/2024:15:54:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2973","request_time":"4.417","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a328c0081946de2542a8ddd37b739ee1"} experiment-1 | {"level":"info","message":"DELETE /experiments/64e27526-f958-4353-9a3f-bad2e46b60d4 204 154ms","method":"DELETE","requestID":"2111100ae32b2608c921bd7897ebbd3d","responseTime":154,"status":204,"url":"/experiments/64e27526-f958-4353-9a3f-bad2e46b60d4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"475a6113b68a563eb271342ac29f1d21","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"475a6113b68a563eb271342ac29f1d21"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"c365a95d3cfe98eb40a0f837aed2092b","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"c365a95d3cfe98eb40a0f837aed2092b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0MX0.qnhqtslyTqaAee9RHNeKY5aiOpKrcjZChJk1FvzGjGU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a950fe7cd2a032a9053dde67dd3d5ec2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.067816,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} gateway-1 | {"time_local":"08/Jul/2024:15:54:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2485","request_time":"2.950","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ca3d051efcf1b5fc72fba2983d9964e1"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454041,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0MX0.qnhqtslyTqaAee9RHNeKY5aiOpKrcjZChJk1FvzGjGU"} 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":"a950fe7cd2a032a9053dde67dd3d5ec2"},"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/efd84ba7-e3fb-4443-aa2c-57dfc1479734' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d2bc5447-147c-4093-b138-7aa8c14f6705","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.7807465} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a950fe7cd2a032a9053dde67dd3d5ec2"},"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/dccbc5f2-18c2-4092-a94b-570635d18e0c' 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bbf98e0-b39b-4aca-b142-12b47b8a8212","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.785929} 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":"a950fe7cd2a032a9053dde67dd3d5ec2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"82b293e9-325f-495a-8f6f-98ced927fe50","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.7959006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35f18809-84d9-438d-ab88-e3e63935dd6a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.7962682} 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":"a950fe7cd2a032a9053dde67dd3d5ec2"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.795877082Z"}]},"request_id":"ab20abdb-00e8-417d-8b02-8601a0585709","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.8008916} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a950fe7cd2a032a9053dde67dd3d5ec2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:01 +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":"a950fe7cd2a032a9053dde67dd3d5ec2"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"a950fe7cd2a032a9053dde67dd3d5ec2","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0MX0.qnhqtslyTqaAee9RHNeKY5aiOpKrcjZChJk1FvzGjGU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8897c19e42993af1ca359415e5eeecf7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.715143,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454041,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0MX0.qnhqtslyTqaAee9RHNeKY5aiOpKrcjZChJk1FvzGjGU"} 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":"8897c19e42993af1ca359415e5eeecf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a79e0d51-283c-45d6-bdc1-b80e6d3e2529","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.8314505} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8897c19e42993af1ca359415e5eeecf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6e55869-3e5f-476b-b7fb-554ff20ef27b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.8362777} 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":"8897c19e42993af1ca359415e5eeecf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"1a4c9eaa-48df-410f-9232-e01331635519","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.8473895} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3002f581-f1f5-4811-94da-e58e2b0422d1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.847548} 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":"8897c19e42993af1ca359415e5eeecf7"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.847373386Z"}]},"request_id":"606d2d5c-4a99-435e-9aa0-449716dce268","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454041.8516715} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8897c19e42993af1ca359415e5eeecf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8897c19e42993af1ca359415e5eeecf7"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"8897c19e42993af1ca359415e5eeecf7","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Mn0.8pmRCtJU2KIK7UYCMoEA8OkndpUmQ5MB6b4P4Z-AkK4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fbf066afba8985d302bb4964ea4d40b6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.142157,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454042,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Mn0.8pmRCtJU2KIK7UYCMoEA8OkndpUmQ5MB6b4P4Z-AkK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbf066afba8985d302bb4964ea4d40b6"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.795877082Z"}]},"request_id":"63858ebe-7891-4898-9aca-e2b4642327b1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454042.3522496} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbf066afba8985d302bb4964ea4d40b6"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc9d4b3d-a20e-417f-8304-bfc9194ba17a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454042.3580644} 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":"fbf066afba8985d302bb4964ea4d40b6"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.795877082Z"}]},"request_id":"2db73560-e96c-4d76-a124-18b627653c32","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454042.3712668} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbf066afba8985d302bb4964ea4d40b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fbf066afba8985d302bb4964ea4d40b6"} device-1 | {"level":"info","message":"PATCH /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8 200 38ms","method":"PATCH","requestID":"fbf066afba8985d302bb4964ea4d40b6","responseTime":38,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Mn0.8pmRCtJU2KIK7UYCMoEA8OkndpUmQ5MB6b4P4Z-AkK4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c339333e5cae9f58010fc64a2c4b472d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.630707,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454042,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Mn0.8pmRCtJU2KIK7UYCMoEA8OkndpUmQ5MB6b4P4Z-AkK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c339333e5cae9f58010fc64a2c4b472d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c339333e5cae9f58010fc64a2c4b472d"} device-1 | {"level":"info","message":"POST /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/websocket 200 25ms","method":"POST","requestID":"c339333e5cae9f58010fc64a2c4b472d","responseTime":25,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8' 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":"1d77388da3219b8c0075a915ee79d43f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/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":"1d77388da3219b8c0075a915ee79d43f"} device-1 | {"level":"info","message":"OPTIONS /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/websocket 200 1ms","method":"OPTIONS","requestID":"1d77388da3219b8c0075a915ee79d43f","responseTime":1,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3987c6214094ac453dcc7a8ec1d8bf62","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:03Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.366813,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454043,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3987c6214094ac453dcc7a8ec1d8bf62"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/websocket 200 24ms","method":"POST","requestID":"3987c6214094ac453dcc7a8ec1d8bf62","responseTime":24,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/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":"3987c6214094ac453dcc7a8ec1d8bf62"} device-1 | {"level":"info","message":"device 'http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"457420316348c417ff981dc855f4841a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:03Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212044,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454043,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"457420316348c417ff981dc855f4841a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.795877082Z"}]},"request_id":"3392b1d5-3de0-46ec-b106-903ba7770663","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454043.9359217} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"457420316348c417ff981dc855f4841a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8? 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":"457420316348c417ff981dc855f4841a"} device-1 | {"level":"info","message":"GET /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8? 200 18ms","method":"GET","requestID":"457420316348c417ff981dc855f4841a","responseTime":18,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eff84e33d76f5361da72d5cbf3fe6439","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:03Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.320498,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454043,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eff84e33d76f5361da72d5cbf3fe6439"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.847373386Z"}]},"request_id":"f05a86cd-b6c3-4a90-8f47-6cb594ab22a2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454043.962912} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eff84e33d76f5361da72d5cbf3fe6439"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0? 200 19ms","method":"GET","requestID":"eff84e33d76f5361da72d5cbf3fe6439","responseTime":19,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0? 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":"eff84e33d76f5361da72d5cbf3fe6439"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b06a701813e0ca723fe5e80386759f5","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:57924","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:03Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.163956,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454043,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b06a701813e0ca723fe5e80386759f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"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:57924","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.716154,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454043,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE"} 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":"4cf7d160-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213515,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454043,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE"} 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":"4cf81f80-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.795877082Z"}]},"request_id":"e03cdcdd-d135-4ead-9e67-95bbd22b16e6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.0352168} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4cf7d160-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.847373386Z"}]},"request_id":"b16e66b8-4dfe-4751-8b1d-35700cb4ba92","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.040638} 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":"4cf81f80-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8? 200 20ms","method":"GET","requestID":"4cf7d160-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0? 200 26ms","method":"GET","requestID":"4cf81f80-3d42-11ef-b841-3faa56dbb9da","responseTime":26,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"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:57924","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751211,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454043,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d027fc0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800955,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454043,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d02a6d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.021951,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f03d579e-2ce8-4f91-a47b-d7179f378953","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.104453} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.847373386Z"}]},"request_id":"8abf0c47-ea86-4ee8-a7b7-4c62f79dfcbc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1090448} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","rebac_allow":false,"scope_allow":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":"4d031c00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d02a6d0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.795877082Z"}]},"request_id":"b2f97c19-1184-4889-9b6c-59193db95d60","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1131713} device-1 | {"level":"info","message":"POST /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/signaling 200 18ms","method":"POST","requestID":"4d031c00-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/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":"4d027fc0-3d42-11ef-b841-3faa56dbb9da"},"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/34f829f6-291b-4cfa-a3f4-9db5846e53d0? 200 26ms","method":"GET","requestID":"4d02a6d0-3d42-11ef-b841-3faa56dbb9da","responseTime":26,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8? 200 28ms","method":"GET","requestID":"4d027fc0-3d42-11ef-b841-3faa56dbb9da","responseTime":28,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54fbb9cb-4a60-4996-9815-cda344e507fa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1273592} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.39081,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","rebac_allow":false,"scope_allow":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":"4d06ec90-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.562872,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c11e4f13-e6c6-4c69-b21f-dc3d5001ec72","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.129498} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0584e270-9f8c-4b4b-b700-26d7d421b4ed#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0584e270-9f8c-4b4b-b700-26d7d421b4ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"a7f11224-50ba-4746-8fe9-55c64351126c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1297975} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6bedf814-bfca-4745-bab0-aca9a2f794a7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1300914} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/signaling 200 12ms","method":"POST","requestID":"4d06ec90-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/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":"4d0761c0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b06a701813e0ca723fe5e80386759f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/signaling 200 12ms","method":"POST","requestID":"4d0761c0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} gateway-1 | {"time_local":"08/Jul/2024:15:54:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b06a701813e0ca723fe5e80386759f5"} experiment-1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"0b06a701813e0ca723fe5e80386759f5","responseTime":165,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2cdd0f3-7d13-4847-a9df-0a2f5398db15","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1442916} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.444601,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","rebac_allow":false,"scope_allow":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":"4d09abb0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0NH0.gBodTv6FmgtDYrQxqSAeXvjDDJNXj6BthlxFUuQW6nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4fc43d82489965e6f04856f209a7e1f1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/signaling 200 10ms","method":"POST","requestID":"4d09abb0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"5920e866-16b3-4dd7-92fd-1304a01aeddc"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"7302bb42-9747-4829-a674-8f408db0f619"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"57165e61-18bc-420e-a6b7-5c523a6ccc78"}]},"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/d029e869-ad32-4428-8574-2e8ddf97b2b8"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708083,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454044,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0NH0.gBodTv6FmgtDYrQxqSAeXvjDDJNXj6BthlxFUuQW6nE"} 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":"4fc43d82489965e6f04856f209a7e1f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.642012,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454043,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0M30.7uFCnq4ZqyzqWf-ZvJxCPOjU27VuGyQqBwnLLBfIbLE"} 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":"4d0ba780-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.795877082Z"}]},"request_id":"3ac86fb0-4fed-4103-adf5-6eab061f988d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1570446} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fc43d82489965e6f04856f209a7e1f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8? 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":"4fc43d82489965e6f04856f209a7e1f1"} device-1 | {"level":"info","message":"GET /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8? 200 14ms","method":"GET","requestID":"4fc43d82489965e6f04856f209a7e1f1","responseTime":14,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0NH0.gBodTv6FmgtDYrQxqSAeXvjDDJNXj6BthlxFUuQW6nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e5188fbed3b4c893aa6bc1acedb9612c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"4dac70ba-5d3d-4ae1-bc11-63cca93ea74f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1683335} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1228f3f1-256c-4997-9572-5186e6b68146","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1686397} 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":"4d0ba780-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67794,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454044,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0NH0.gBodTv6FmgtDYrQxqSAeXvjDDJNXj6BthlxFUuQW6nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5188fbed3b4c893aa6bc1acedb9612c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:01.847373386Z"}]},"request_id":"86f6a28e-80c5-41f2-9ec9-ab0ef833e170","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.1761878} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5188fbed3b4c893aa6bc1acedb9612c"},"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/30aea7d3-2eb5-40f6-a67c-14c929621bd8'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"4d0ba780-3d42-11ef-b841-3faa56dbb9da","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0? 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":"e5188fbed3b4c893aa6bc1acedb9612c"} device-1 | {"level":"info","message":"GET /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0? 200 16ms","method":"GET","requestID":"e5188fbed3b4c893aa6bc1acedb9612c","responseTime":16,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb4996ca-2811-4a90-b2f7-c2f2e7df6060","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.2144692} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.294525,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","rebac_allow":false,"scope_allow":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":"4d148120-3d42-11ef-b841-3faa56dbb9da"},"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/d029e869-ad32-4428-8574-2e8ddf97b2b8/signaling 200 8ms","method":"POST","requestID":"4d148120-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1c6ddab-bf41-41a3-9f7d-bc631cf9e014","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454044.2252917} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.545955,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d1607c0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/signaling 200 12ms","method":"POST","requestID":"4d1607c0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0'"} device-1 | {"data":{"peerconnection":"30aea7d3-2eb5-40f6-a67c-14c929621bd8","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/30aea7d3-2eb5-40f6-a67c-14c929621bd8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"30aea7d3-2eb5-40f6-a67c-14c929621bd8","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":"b681752b20e1c818529b746e88195f59","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"b681752b20e1c818529b746e88195f59","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"b681752b20e1c818529b746e88195f59"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0'"} device-1 | {"data":{"peerconnection":"30aea7d3-2eb5-40f6-a67c-14c929621bd8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"30aea7d3-2eb5-40f6-a67c-14c929621bd8","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/30aea7d3-2eb5-40f6-a67c-14c929621bd8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"30aea7d3-2eb5-40f6-a67c-14c929621bd8","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":"3d793bd0f8a4b5229ec404ae16fa8679","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/d029e869-ad32-4428-8574-2e8ddf97b2b8"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F30aea7d3-2eb5-40f6-a67c-14c929621bd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"defb351b-a52f-47e9-a4ac-2dcd7510d729","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.302451} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.547623,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8","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":"4e52cd80-3d42-11ef-b841-3faa56dbb9da"},"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/30aea7d3-2eb5-40f6-a67c-14c929621bd8 200 11ms","method":"GET","requestID":"4e52cd80-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"3d793bd0f8a4b5229ec404ae16fa8679","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d793bd0f8a4b5229ec404ae16fa8679"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9c92caf-291d-4ecc-b02b-24d489434b2a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.331262} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.425773,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e576160-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/signaling 200 10ms","method":"POST","requestID":"4e576160-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c7ae941-4614-462e-af84-d42496dcc7b5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.3439646} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.849517,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e595d30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/signaling 200 10ms","method":"POST","requestID":"4e595d30-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Nn0.aUxJS2kqMtaSMkA1IukfS19AfG6sGhX7SNmKMu7CyhM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7e433575d1f1c69c9822795f1117cf1c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.487446,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454046,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Nn0.aUxJS2kqMtaSMkA1IukfS19AfG6sGhX7SNmKMu7CyhM"} 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":"7e433575d1f1c69c9822795f1117cf1c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"} gateway-1 | {"time_local":"08/Jul/2024:15:54:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e433575d1f1c69c9822795f1117cf1c"} experiment-1 | {"level":"info","message":"GET /experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed 200 16ms","method":"GET","requestID":"7e433575d1f1c69c9822795f1117cf1c","responseTime":16,"status":200,"url":"/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Nn0.aUxJS2kqMtaSMkA1IukfS19AfG6sGhX7SNmKMu7CyhM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"991c52ad4d50a39bef84826484ded553","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.300961,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454046,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Nn0.aUxJS2kqMtaSMkA1IukfS19AfG6sGhX7SNmKMu7CyhM"} 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":"991c52ad4d50a39bef84826484ded553"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.340566,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454046,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Nn0.aUxJS2kqMtaSMkA1IukfS19AfG6sGhX7SNmKMu7CyhM"} 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":"4e7808c0-3d42-11ef-b841-3faa56dbb9da"},"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/30aea7d3-2eb5-40f6-a67c-14c929621bd8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"30aea7d3-2eb5-40f6-a67c-14c929621bd8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F30aea7d3-2eb5-40f6-a67c-14c929621bd8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F30aea7d3-2eb5-40f6-a67c-14c929621bd8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"4618a6bf-18b0-434f-9780-d910c6440d51","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.5670528} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"153755a11ef5d8e4e4e1af475690bbd0","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ea523e1-b58d-44dd-a0a6-d307d3749d19","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.567401} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/d029e869-ad32-4428-8574-2e8ddf97b2b8"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8"}}},"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":"4e7808c0-3d42-11ef-b841-3faa56dbb9da"},"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":"4b16d9b18349ebb361ec482bbc5c6c5a","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/d029e869-ad32-4428-8574-2e8ddf97b2b8"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"30aea7d3-2eb5-40f6-a67c-14c929621bd8","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/30aea7d3-2eb5-40f6-a67c-14c929621bd8 204 47ms","method":"DELETE","requestID":"4e7808c0-3d42-11ef-b841-3faa56dbb9da","responseTime":47,"status":204,"url":"/peerconnections/30aea7d3-2eb5-40f6-a67c-14c929621bd8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd029e869-ad32-4428-8574-2e8ddf97b2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d66a9b0-f76a-4ca5-ac97-4638029252a7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.6195061} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.16714,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e830540-3d42-11ef-b841-3faa56dbb9da"},"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/d029e869-ad32-4428-8574-2e8ddf97b2b8/signaling 200 15ms","method":"POST","requestID":"4e830540-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0584e270-9f8c-4b4b-b700-26d7d421b4ed': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0584e270-9f8c-4b4b-b700-26d7d421b4ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"de497a24-7d92-4e59-818c-0f2acc12c96c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.6273656} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64b0fcc5-fbd0-4448-ae29-605bf08250f7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.6277966} 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":"991c52ad4d50a39bef84826484ded553"},"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:57924","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34f829f6-291b-4cfa-a3f4-9db5846e53d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e905ff99-7106-44a5-8720-4e7f39492d0f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.6354442} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.619037,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e859d50-3d42-11ef-b841-3faa56dbb9da"},"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/34f829f6-291b-4cfa-a3f4-9db5846e53d0/signaling 200 12ms","method":"POST","requestID":"4e859d50-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/34f829f6-291b-4cfa-a3f4-9db5846e53d0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"} gateway-1 | {"time_local":"08/Jul/2024:15:54:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"991c52ad4d50a39bef84826484ded553"} gateway-1 | {"time_local":"08/Jul/2024:15:54:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2975","request_time":"4.282","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bf1d356f2a102fd7188728d077b20217"} experiment-1 | {"level":"info","message":"DELETE /experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed 204 169ms","method":"DELETE","requestID":"991c52ad4d50a39bef84826484ded553","responseTime":169,"status":204,"url":"/experiments/0584e270-9f8c-4b4b-b700-26d7d421b4ed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"153755a11ef5d8e4e4e1af475690bbd0","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"153755a11ef5d8e4e4e1af475690bbd0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"4b16d9b18349ebb361ec482bbc5c6c5a","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b16d9b18349ebb361ec482bbc5c6c5a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Nn0.aUxJS2kqMtaSMkA1IukfS19AfG6sGhX7SNmKMu7CyhM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"19740c989f073d0adafd426e52dd0437","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.807217,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:54:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2485","request_time":"2.801","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2d9a27ef878dbb606a48e074510d4978"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454046,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Nn0.aUxJS2kqMtaSMkA1IukfS19AfG6sGhX7SNmKMu7CyhM"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d029e869-ad32-4428-8574-2e8ddf97b2b8' 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":"19740c989f073d0adafd426e52dd0437"},"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/34f829f6-291b-4cfa-a3f4-9db5846e53d0' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e8455034-81a4-4913-bf72-93193f3ce978","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.720926} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19740c989f073d0adafd426e52dd0437"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0ef0627-c176-46ef-8561-56fc133bfc9c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.7267652} 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":"19740c989f073d0adafd426e52dd0437"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"88e271e7-67ce-455e-8ce6-024fea2e8e0b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.7363298} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"703cb086-0411-411a-a86e-713b116525a6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.7366376} 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":"19740c989f073d0adafd426e52dd0437"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.736308476Z"}]},"request_id":"ab251f84-8d4a-42bb-ba94-16f16e648dda","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.7416894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19740c989f073d0adafd426e52dd0437"},"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":"19740c989f073d0adafd426e52dd0437","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:06 +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":"19740c989f073d0adafd426e52dd0437"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Nn0.aUxJS2kqMtaSMkA1IukfS19AfG6sGhX7SNmKMu7CyhM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"15273642fa7f1e81cb5452ebc8ed93b6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.3724,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454046,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0Nn0.aUxJS2kqMtaSMkA1IukfS19AfG6sGhX7SNmKMu7CyhM"} 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":"15273642fa7f1e81cb5452ebc8ed93b6"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0b52a586-3afa-41a6-b171-fa6008dca006","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.7703824} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15273642fa7f1e81cb5452ebc8ed93b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e79ff24-2cdf-4437-bf51-d073dd813ba4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.7754793} 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":"15273642fa7f1e81cb5452ebc8ed93b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"dc3f2c83-c921-4889-9922-58c155e98c3c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.792247} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a7e95fc-9609-4bf9-97a4-0b0f31d5a682","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.792428} 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":"15273642fa7f1e81cb5452ebc8ed93b6"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.792226013Z"}]},"request_id":"b7c8868c-6e44-451e-aeca-6ebc9e96d7a6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454046.7965796} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15273642fa7f1e81cb5452ebc8ed93b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"15273642fa7f1e81cb5452ebc8ed93b6","responseTime":49,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:06 +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":"15273642fa7f1e81cb5452ebc8ed93b6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8f220f3194cc5f9e6ffede74f34cdd06","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5e57fb98ac14b0f2ec2a5f81bda8e249","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719116,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f220f3194cc5f9e6ffede74f34cdd06"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61375,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e57fb98ac14b0f2ec2a5f81bda8e249"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.792226013Z"}]},"request_id":"ee048be2-ee89-4d6d-b2da-3648b4729e14","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.2834835} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f220f3194cc5f9e6ffede74f34cdd06"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.736308476Z"}]},"request_id":"ed1b3ea4-1f3c-4547-9c30-817b76604afe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.284407} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e57fb98ac14b0f2ec2a5f81bda8e249"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa9302c5-aa38-4b58-91e7-892fdc3b3bcc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.289655} 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":"8f220f3194cc5f9e6ffede74f34cdd06"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c4f3fa1-4c6c-478b-8c30-ba091ba57741","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.2912018} 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":"5e57fb98ac14b0f2ec2a5f81bda8e249"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.736308476Z"}]},"request_id":"85e1ff5b-24d5-4407-8462-7277f99e9830","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.294857} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e57fb98ac14b0f2ec2a5f81bda8e249"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5 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":"5e57fb98ac14b0f2ec2a5f81bda8e249"} device-1 | {"level":"info","message":"PATCH /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5 200 24ms","method":"PATCH","requestID":"5e57fb98ac14b0f2ec2a5f81bda8e249","responseTime":24,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ee3f5e80e415f1824dd12d0190e11aa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.792226013Z"}]},"request_id":"8d2180fd-690f-4d32-8975-dc85fabd6416","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.3072093} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f220f3194cc5f9e6ffede74f34cdd06"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.716805,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} device-1 | {"level":"info","message":"PATCH /devices/ac7916cc-0b66-4822-bd81-6e85e122345e 200 38ms","method":"PATCH","requestID":"8f220f3194cc5f9e6ffede74f34cdd06","responseTime":38,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e"} gateway-1 | {"time_local":"08/Jul/2024:15:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ac7916cc-0b66-4822-bd81-6e85e122345e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8f220f3194cc5f9e6ffede74f34cdd06"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ee3f5e80e415f1824dd12d0190e11aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bdee221740c04efe76f6d8acdca0a347","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724832,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bdee221740c04efe76f6d8acdca0a347"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/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":"7ee3f5e80e415f1824dd12d0190e11aa"} device-1 | {"level":"info","message":"POST /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/websocket 200 28ms","method":"POST","requestID":"7ee3f5e80e415f1824dd12d0190e11aa","responseTime":28,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ac7916cc-0b66-4822-bd81-6e85e122345e/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":"bdee221740c04efe76f6d8acdca0a347"} device-1 | {"level":"info","message":"POST /devices/ac7916cc-0b66-4822-bd81-6e85e122345e/websocket 200 24ms","method":"POST","requestID":"bdee221740c04efe76f6d8acdca0a347","responseTime":24,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fb21bb6491ff4217d0cc8354595020fa","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.824778,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb21bb6491ff4217d0cc8354595020fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.736308476Z"}]},"request_id":"b80f4bb1-2ed6-4ed0-a145-5e45afbf7048","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.3821497} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb21bb6491ff4217d0cc8354595020fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5? 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":"fb21bb6491ff4217d0cc8354595020fa"} device-1 | {"level":"info","message":"GET /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5? 200 14ms","method":"GET","requestID":"fb21bb6491ff4217d0cc8354595020fa","responseTime":14,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ab16ec62b68d2632fee874ccca27f5d1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673908,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab16ec62b68d2632fee874ccca27f5d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.792226013Z"}]},"request_id":"ae0d8c75-f02e-4090-ba8e-89a72c8cd234","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.4018419} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab16ec62b68d2632fee874ccca27f5d1"},"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/ac7916cc-0b66-4822-bd81-6e85e122345e? 200 15ms","method":"GET","requestID":"ab16ec62b68d2632fee874ccca27f5d1","responseTime":15,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac7916cc-0b66-4822-bd81-6e85e122345e? 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":"ab16ec62b68d2632fee874ccca27f5d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8dd227edd2fa3e8954af1ae81e2c558e","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:57924","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.042605,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dd227edd2fa3e8954af1ae81e2c558e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"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:57924","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.177271,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f046a40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.534126,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f049150-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.736308476Z"}]},"request_id":"22a37327-da23-41ea-a756-93c35c911785","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.4706595} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f046a40-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.792226013Z"}]},"request_id":"78c38d0f-8a06-4e6f-9923-e7c8d801a9f6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.4721358} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f049150-3d42-11ef-b841-3faa56dbb9da"},"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/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5? 200 16ms","method":"GET","requestID":"4f046a40-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ac7916cc-0b66-4822-bd81-6e85e122345e? 200 16ms","method":"GET","requestID":"4f049150-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"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:57924","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678639,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f102a10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806055,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f105120-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.932655,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e46dad24-33d7-41f2-a3bb-43e0d35b40b8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.5488822} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.736308476Z"}]},"request_id":"4d50855d-1877-451f-bc94-ec27609efcb9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.550295} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","rebac_allow":false,"scope_allow":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":"4f109f40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} 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":"4f102a10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.792226013Z"}]},"request_id":"de98e236-9388-4690-a236-3d29f23f1f01","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.5521362} 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":"4f105120-3d42-11ef-b841-3faa56dbb9da"},"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/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling 200 18ms","method":"POST","requestID":"4f109f40-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5? 200 22ms","method":"GET","requestID":"4f102a10-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ac7916cc-0b66-4822-bd81-6e85e122345e? 200 22ms","method":"GET","requestID":"4f105120-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7d8fdd8-9e0f-4d26-afed-c5c1843ef1e1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.5663645} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3e1e7da-a12a-453a-b838-183dedfa5cd7#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3e1e7da-a12a-453a-b838-183dedfa5cd7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"96f6596d-5df9-4dac-8f0f-e0639446adf9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.5686414} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb80a48e-c10d-4464-98d6-ee348b7683e5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.5686889} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65c7189e-5c27-4cab-8ace-70b80774679a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.568943} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.228092,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:47342","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.031994,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","rebac_allow":false,"scope_allow":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":"4f13d390-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","rebac_allow":false,"scope_allow":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":"4f1421b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dd227edd2fa3e8954af1ae81e2c558e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling 200 18ms","method":"POST","requestID":"4f13d390-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling 200 17ms","method":"POST","requestID":"4f1421b0-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8dd227edd2fa3e8954af1ae81e2c558e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"8dd227edd2fa3e8954af1ae81e2c558e","responseTime":174,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5a9c9c9-72e1-4eb3-ba91-ad27726ebb99","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.5903287} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.483932,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","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":"38440dbbbfe4d5706e03a0107155d01a","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":"4f177d10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling 200 10ms","method":"POST","requestID":"4f177d10-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732377,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"9bec5064-1241-438f-8c5d-e2c397e6786b"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"f3f1737c-8867-4661-9479-2cc0add52a06"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"258873ed-c600-4712-bf82-35214ee1e166"}]},"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/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38440dbbbfe4d5706e03a0107155d01a"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.736308476Z"}]},"request_id":"d307fae7-af40-4422-9cfd-6c16f7af27df","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.601273} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38440dbbbfe4d5706e03a0107155d01a"},"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:57924","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.89574,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} 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":"4f19c700-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5? 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":"38440dbbbfe4d5706e03a0107155d01a"} device-1 | {"level":"info","message":"GET /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5? 200 14ms","method":"GET","requestID":"38440dbbbfe4d5706e03a0107155d01a","responseTime":14,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"da57cddad12345c780d08f0cdc2d8f9d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"20680a8e-d6b3-49e6-afed-bd494384f260","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.6134326} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0c64652-75db-4161-b27c-9d6b1ba1913a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.6136026} 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":"4f19c700-3d42-11ef-b841-3faa56dbb9da"},"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:57924","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725091,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454047,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0N30.BG0o3cFUmerzn4M0PsyDcLhICTZ1FHcRR9vNS26Pc9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da57cddad12345c780d08f0cdc2d8f9d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:06.792226013Z"}]},"request_id":"402f506d-b576-4746-a85e-f78522b21d90","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.6211524} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da57cddad12345c780d08f0cdc2d8f9d"},"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/c111a989-258f-46e1-8808-e131270718ca'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca'"} 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":"4f19c700-3d42-11ef-b841-3faa56dbb9da","responseTime":32,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac7916cc-0b66-4822-bd81-6e85e122345e? 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":"da57cddad12345c780d08f0cdc2d8f9d"} device-1 | {"level":"info","message":"GET /devices/ac7916cc-0b66-4822-bd81-6e85e122345e? 200 21ms","method":"GET","requestID":"da57cddad12345c780d08f0cdc2d8f9d","responseTime":21,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"937f8a84-8631-467b-bd13-c319e8eeea0d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.6655893} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.876331,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f22eec0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling 200 10ms","method":"POST","requestID":"4f22eec0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ac9fc1c-1ded-4975-b069-9ad54e72cd06","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454047.6778648} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.320976,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f24c380-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling 200 11ms","method":"POST","requestID":"4f24c380-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling"} device-1 | {"data":{"peerconnection":"c111a989-258f-46e1-8808-e131270718ca","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c111a989-258f-46e1-8808-e131270718ca","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/c111a989-258f-46e1-8808-e131270718ca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c111a989-258f-46e1-8808-e131270718ca","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":"82a37feccaa7b84daf65d3636e1920ae","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"82a37feccaa7b84daf65d3636e1920ae","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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":"82a37feccaa7b84daf65d3636e1920ae"} device-1 | {"data":{"peerconnection":"c111a989-258f-46e1-8808-e131270718ca","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c111a989-258f-46e1-8808-e131270718ca","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/c111a989-258f-46e1-8808-e131270718ca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c111a989-258f-46e1-8808-e131270718ca","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":"ebe3a59968f2ae4c8ceade17796f4b13","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/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc111a989-258f-46e1-8808-e131270718ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cb2ed28-c698-4f3c-b1b9-4ef0ac3153ed","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454049.7532568} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.332061,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca","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":"50616230-3d42-11ef-b841-3faa56dbb9da"},"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/c111a989-258f-46e1-8808-e131270718ca 200 12ms","method":"GET","requestID":"50616230-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/peerconnections/c111a989-258f-46e1-8808-e131270718ca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"ebe3a59968f2ae4c8ceade17796f4b13","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"ebe3a59968f2ae4c8ceade17796f4b13"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74416018-bb40-4c2e-864d-6b59c5f3b710","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454049.7827306} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.721028,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5065f610-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling 200 10ms","method":"POST","requestID":"5065f610-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a53f85a6-d221-4246-8dd3-a4d457081537","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454049.7954612} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.977882,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5067f1e0-3d42-11ef-b841-3faa56dbb9da"},"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/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling 200 11ms","method":"POST","requestID":"5067f1e0-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0OX0.wkFdTvFVdpXP5zJX0AHegWBUFI5JbeYmA5Vzn5grKAY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"225a983e411fd4650e261270c3cc0874","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.350703,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454049,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0OX0.wkFdTvFVdpXP5zJX0AHegWBUFI5JbeYmA5Vzn5grKAY"} 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":"225a983e411fd4650e261270c3cc0874"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"} experiment-1 | {"level":"info","message":"GET /experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7 200 16ms","method":"GET","requestID":"225a983e411fd4650e261270c3cc0874","responseTime":16,"status":200,"url":"/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"} gateway-1 | {"time_local":"08/Jul/2024:15:54:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"225a983e411fd4650e261270c3cc0874"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0OX0.wkFdTvFVdpXP5zJX0AHegWBUFI5JbeYmA5Vzn5grKAY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"98beae0ba2ef0c5d969c4edc33a2d344","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.260065,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454049,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0OX0.wkFdTvFVdpXP5zJX0AHegWBUFI5JbeYmA5Vzn5grKAY"} 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":"98beae0ba2ef0c5d969c4edc33a2d344"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.349826,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454049,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA0OX0.wkFdTvFVdpXP5zJX0AHegWBUFI5JbeYmA5Vzn5grKAY"} 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":"5084c8b0-3d42-11ef-b841-3faa56dbb9da"},"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/c111a989-258f-46e1-8808-e131270718ca' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c111a989-258f-46e1-8808-e131270718ca","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc111a989-258f-46e1-8808-e131270718ca': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc111a989-258f-46e1-8808-e131270718ca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"b6199607-021c-4ece-82d0-7ada2f321c43","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.0022671} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26134330-88c6-488d-a614-9e2b9cbf1ccc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.0023887} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f6781370c854c2e3a30456795743373b","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca"}}},"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":"5084c8b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9f30903224c6b88d4335af985f7d4e13","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/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c111a989-258f-46e1-8808-e131270718ca"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"c111a989-258f-46e1-8808-e131270718ca","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/c111a989-258f-46e1-8808-e131270718ca 204 45ms","method":"DELETE","requestID":"5084c8b0-3d42-11ef-b841-3faa56dbb9da","responseTime":45,"status":204,"url":"/peerconnections/c111a989-258f-46e1-8808-e131270718ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:10Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fec38b5-50d6-4c2b-8b4c-4a869e5d6ac4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.050165} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.424862,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5","object_type":"device","rebac_allow":false,"scope_allow":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":"508f01e0-3d42-11ef-b841-3faa56dbb9da"},"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/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling 200 8ms","method":"POST","requestID":"508f01e0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3e1e7da-a12a-453a-b838-183dedfa5cd7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3e1e7da-a12a-453a-b838-183dedfa5cd7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"28cc0cce-4bee-4cd9-b580-f09cdab065aa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.0570424} 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbb92f34-b0bf-4a48-bdef-019f76ae6f1a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.0572348} 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":"98beae0ba2ef0c5d969c4edc33a2d344"},"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:57924","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:10Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7916cc-0b66-4822-bd81-6e85e122345e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c87eee6-8ecc-4820-9de0-49966821f8ed","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.0629938} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.259938,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5090af90-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling 200 11ms","method":"POST","requestID":"5090af90-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/ac7916cc-0b66-4822-bd81-6e85e122345e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"} gateway-1 | {"time_local":"08/Jul/2024:15:54:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98beae0ba2ef0c5d969c4edc33a2d344"} experiment-1 | {"level":"info","message":"DELETE /experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7 204 158ms","method":"DELETE","requestID":"98beae0ba2ef0c5d969c4edc33a2d344","responseTime":158,"status":204,"url":"/experiments/d3e1e7da-a12a-453a-b838-183dedfa5cd7"} gateway-1 | {"time_local":"08/Jul/2024:15:54:10 +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.785","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"229c87cb0aa3ff320168b8b1b7423aae"} gateway-1 | {"time_local":"08/Jul/2024:15:54:10 +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.773","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"956f961c77093b6275a099e4c0386244"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"f6781370c854c2e3a30456795743373b","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"f6781370c854c2e3a30456795743373b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"9f30903224c6b88d4335af985f7d4e13","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f30903224c6b88d4335af985f7d4e13"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1MH0.17eLUNC7KnmlwOX026xicmoj-OE_78EiamyoqQpkH1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3a6b9e53c268fb1c7a2234a9a6a05a70","responseTime":5,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ac7916cc-0b66-4822-bd81-6e85e122345e' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.892593,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454050,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1MH0.17eLUNC7KnmlwOX026xicmoj-OE_78EiamyoqQpkH1M"} 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":"3a6b9e53c268fb1c7a2234a9a6a05a70"},"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/6c8c6a27-9b13-4572-9ae4-92a1c90d6fd5' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"103be574-f21c-4a2f-9209-c4527b3de777","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.1498528} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a6b9e53c268fb1c7a2234a9a6a05a70"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2509195-7811-431a-b89b-aaae7b9ab863","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.156335} 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":"3a6b9e53c268fb1c7a2234a9a6a05a70"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"71e9ef58-ed30-47a8-8f17-09484f23ba14","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.1671407} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72f5396f-9b98-4538-a0c4-e2ccdc03577a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.167499} 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":"3a6b9e53c268fb1c7a2234a9a6a05a70"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.167109958Z"}]},"request_id":"2714b4de-40c2-422c-88b1-2a57ce2d0dee","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.173131} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a6b9e53c268fb1c7a2234a9a6a05a70"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a6b9e53c268fb1c7a2234a9a6a05a70"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"3a6b9e53c268fb1c7a2234a9a6a05a70","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1MH0.17eLUNC7KnmlwOX026xicmoj-OE_78EiamyoqQpkH1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b88cde97359c208049bfd409e3033358","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.780698,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454050,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1MH0.17eLUNC7KnmlwOX026xicmoj-OE_78EiamyoqQpkH1M"} 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":"b88cde97359c208049bfd409e3033358"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"66dbd063-74c9-449e-89d0-5f4daed50ffb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.1989021} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b88cde97359c208049bfd409e3033358"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7f93952-16ad-441f-a77f-9e11d7f17a4d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.204441} 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":"b88cde97359c208049bfd409e3033358"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"be10ad94-d443-4003-b488-9dd57a95406d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.2218566} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c21cea30-bc1a-4d38-8b2a-1412de6ad249","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.222003} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b88cde97359c208049bfd409e3033358"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.221799906Z"}]},"request_id":"6e2c9e96-db55-4cdc-a3a2-f8db4b962b51","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454050.2270045} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b88cde97359c208049bfd409e3033358"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b88cde97359c208049bfd409e3033358"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"b88cde97359c208049bfd409e3033358","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d8dc5292b49e18671052c4a455ba80f0","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/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":"d8dc5292b49e18671052c4a455ba80f0"} device-1 | {"level":"info","message":"OPTIONS /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/websocket 200 1ms","method":"OPTIONS","requestID":"d8dc5292b49e18671052c4a455ba80f0","responseTime":1,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"17b0531bdab0fdf271189135d83dfbbe","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/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":"17b0531bdab0fdf271189135d83dfbbe"} device-1 | {"level":"info","message":"OPTIONS /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/websocket 200 1ms","method":"OPTIONS","requestID":"17b0531bdab0fdf271189135d83dfbbe","responseTime":1,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"a7c8aa0e31b1a17ff7f99775cac500be","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"7b0dc3faa115f36bc5bc08b797edc0c1","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.798205,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"a7c8aa0e31b1a17ff7f99775cac500be"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.422,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"7b0dc3faa115f36bc5bc08b797edc0c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/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":"a7c8aa0e31b1a17ff7f99775cac500be"} device-1 | {"level":"info","message":"POST /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/websocket 200 29ms","method":"POST","requestID":"a7c8aa0e31b1a17ff7f99775cac500be","responseTime":29,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7b0dc3faa115f36bc5bc08b797edc0c1"} device-1 | {"level":"info","message":"POST /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/websocket 200 33ms","method":"POST","requestID":"7b0dc3faa115f36bc5bc08b797edc0c1","responseTime":33,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8699d242d55932145affe290c642e86e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767967,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8699d242d55932145affe290c642e86e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.167109958Z"}]},"request_id":"9e08055a-3b95-4a87-a2f2-af4a13da79b4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.279354} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8699d242d55932145affe290c642e86e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3? 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":"8699d242d55932145affe290c642e86e"} device-1 | {"level":"info","message":"GET /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3? 200 16ms","method":"GET","requestID":"8699d242d55932145affe290c642e86e","responseTime":16,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4bea1f9854c8084e4bd0956860d8ca9a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831558,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bea1f9854c8084e4bd0956860d8ca9a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.221799906Z"}]},"request_id":"5a03b3e1-17a6-413f-bac3-1e789f2c960a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.301072} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bea1f9854c8084e4bd0956860d8ca9a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae? 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":"4bea1f9854c8084e4bd0956860d8ca9a"} device-1 | {"level":"info","message":"GET /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae? 200 14ms","method":"GET","requestID":"4bea1f9854c8084e4bd0956860d8ca9a","responseTime":14,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"139e031519417ce1db8643e4218e003b","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:57924","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.297633,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"139e031519417ce1db8643e4218e003b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"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:57924","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.099677,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51ef2e20-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139778,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"51ef7c40-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.167109958Z"}]},"request_id":"48dcca9d-f194-4207-b11b-3eec1016dfea","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.3675847} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51ef2e20-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.221799906Z"}]},"request_id":"339aa601-194e-4e53-bd12-479e47d555fa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.3685389} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51ef7c40-3d42-11ef-b841-3faa56dbb9da"},"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/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3? 200 19ms","method":"GET","requestID":"51ef2e20-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae? 200 19ms","method":"GET","requestID":"51ef7c40-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"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:57924","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.596185,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300666,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"51fb6320-3d42-11ef-b841-3faa56dbb9da"},"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/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"51fbb140-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36698","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.221799906Z"}]},"request_id":"93935442-3f13-4479-b6c2-9634b9f99ca0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.4510467} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a92b833-fb0d-4cec-b750-bfb268e852c2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.4516685} 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":"51fbb140-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.167109958Z"}]},"request_id":"d255b77a-1324-435b-ad1f-96487b32c8c2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.4526176} authorization-1 | {"client_addr":"127.0.0.1:36698","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.401774,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51fbff60-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} 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":"51fb6320-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae? 200 24ms","method":"GET","requestID":"51fbb140-3d42-11ef-b841-3faa56dbb9da","responseTime":24,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F79e6f55e-0195-4086-b4be-946bff2a497d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F79e6f55e-0195-4086-b4be-946bff2a497d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"c6cc4848-8c76-4c15-8c26-4d7e08391c1c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.4637508} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6d7d56a-3165-4798-8c5a-cb96e4df5b35","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.4641252} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling 200 27ms","method":"POST","requestID":"51fbff60-3d42-11ef-b841-3faa56dbb9da","responseTime":27,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3? 200 32ms","method":"GET","requestID":"51fb6320-3d42-11ef-b841-3faa56dbb9da","responseTime":32,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3?"} 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":"139e031519417ce1db8643e4218e003b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6653cb6-c9ea-4ee1-aaa1-3aa13c34f4cd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.4758134} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.179229,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","rebac_allow":false,"scope_allow":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":"52009340-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c15ac5c-71f3-48c2-9807-2a9368e91b1b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.477728} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.596535,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","rebac_allow":false,"scope_allow":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":"52010870-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"139e031519417ce1db8643e4218e003b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"139e031519417ce1db8643e4218e003b","responseTime":170,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling 200 16ms","method":"POST","requestID":"52009340-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling 200 15ms","method":"POST","requestID":"52010870-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"edb35ec278dd4cb9bcb7071f70ab30a3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.085203,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edb35ec278dd4cb9bcb7071f70ab30a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6baa0e08-e119-4c44-9276-431abb858dab","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.4948866} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.17554,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","rebac_allow":false,"scope_allow":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":"5203c790-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.167109958Z"}]},"request_id":"b31360e4-b5d7-466c-b0ee-c0615c6f8a48","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.501437} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edb35ec278dd4cb9bcb7071f70ab30a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"POST /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling 200 13ms","method":"POST","requestID":"5203c790-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"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":"e099ec92-8469-49a6-be76-5521a9f80265"},{"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":"184a32b6-3a48-482a-8d02-dc5039d0f4e5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"333831c8-9fda-4851-bda4-b4e52f59eebe"}]},"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/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3"},{"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/41c522d7-e629-4032-b97d-d0fccbcc89ae"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3? 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":"edb35ec278dd4cb9bcb7071f70ab30a3"} device-1 | {"level":"info","message":"GET /devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3? 200 15ms","method":"GET","requestID":"edb35ec278dd4cb9bcb7071f70ab30a3","responseTime":15,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.864329,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61cb25fb060b27fb350688cd2a6c66b3","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"520686b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.55762,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61cb25fb060b27fb350688cd2a6c66b3"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:10.221799906Z"}]},"request_id":"f5bfc5e2-d264-4a44-9ff4-c0338e51248b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.521309} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61cb25fb060b27fb350688cd2a6c66b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"a2b91e09-c426-42b9-8aaf-7a7ec2c34d3d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.5223503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c1ad687-2130-49de-b1ad-281d2e1e673b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.5227458} 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":"520686b0-3d42-11ef-b841-3faa56dbb9da"},"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/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae? 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":"61cb25fb060b27fb350688cd2a6c66b3"} device-1 | {"level":"info","message":"GET /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae? 200 14ms","method":"GET","requestID":"61cb25fb060b27fb350688cd2a6c66b3","responseTime":14,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae?"} 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/57d1affd-a3b6-4969-b6f2-b72bff3005f0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0'"} 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":"520686b0-3d42-11ef-b841-3faa56dbb9da","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/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1a89d93-215b-4172-96ee-cfb3488e5226","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.578438} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.971355,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"521098d0-3d42-11ef-b841-3faa56dbb9da"},"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/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling 200 12ms","method":"POST","requestID":"521098d0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96ae6094-c8f0-416b-9e7d-bfa2c899f4b5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.5919619} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.536556,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5212bbb0-3d42-11ef-b841-3faa56dbb9da"},"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/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling 200 11ms","method":"POST","requestID":"5212bbb0-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"57d1affd-a3b6-4969-b6f2-b72bff3005f0","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":"e57c836faad6a1b9feea43dc87255242","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/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3"},{"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/41c522d7-e629-4032-b97d-d0fccbcc89ae"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"e57c836faad6a1b9feea43dc87255242","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"e57c836faad6a1b9feea43dc87255242"} device-1 | {"data":{"peerconnection":"57d1affd-a3b6-4969-b6f2-b72bff3005f0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"57d1affd-a3b6-4969-b6f2-b72bff3005f0","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/57d1affd-a3b6-4969-b6f2-b72bff3005f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"57d1affd-a3b6-4969-b6f2-b72bff3005f0","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":"614eddb0d9572461fb8c7abdc0b7933e","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/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3"},{"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/41c522d7-e629-4032-b97d-d0fccbcc89ae"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F57d1affd-a3b6-4969-b6f2-b72bff3005f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89e6a1f3-12b2-4330-ad3f-a3960ef283cd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.6616712} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.161626,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0","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":"521d6a10-3d42-11ef-b841-3faa56dbb9da"},"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/57d1affd-a3b6-4969-b6f2-b72bff3005f0 200 8ms","method":"GET","requestID":"521d6a10-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"614eddb0d9572461fb8c7abdc0b7933e","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"614eddb0d9572461fb8c7abdc0b7933e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6b94b19-2466-4a1f-8b00-0af388c86ae2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.6918173} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.203997,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","rebac_allow":false,"scope_allow":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":"5221fdf0-3d42-11ef-b841-3faa56dbb9da"},"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/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling 200 8ms","method":"POST","requestID":"5221fdf0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3646655d-d717-4bec-a6d8-d11f4f90855e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.701866} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.472133,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52238490-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling 200 9ms","method":"POST","requestID":"52238490-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e2722bb2b414c1249566e5c468b47511","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/79e6f55e-0195-4086-b4be-946bff2a497d"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.642432,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"e2722bb2b414c1249566e5c468b47511"},"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/79e6f55e-0195-4086-b4be-946bff2a497d"} experiment-1 | {"level":"info","message":"GET /experiments/79e6f55e-0195-4086-b4be-946bff2a497d 200 13ms","method":"GET","requestID":"e2722bb2b414c1249566e5c468b47511","responseTime":13,"status":200,"url":"/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/79e6f55e-0195-4086-b4be-946bff2a497d HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2722bb2b414c1249566e5c468b47511"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c99d256bda8bad4a4375945eecd5133","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/79e6f55e-0195-4086-b4be-946bff2a497d"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.132493,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"2c99d256bda8bad4a4375945eecd5133"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.183575,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"522ea820-3d42-11ef-b841-3faa56dbb9da"},"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/57d1affd-a3b6-4969-b6f2-b72bff3005f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"57d1affd-a3b6-4969-b6f2-b72bff3005f0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F57d1affd-a3b6-4969-b6f2-b72bff3005f0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F57d1affd-a3b6-4969-b6f2-b72bff3005f0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"a80726da-45af-43be-b418-29d4317697f4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.7900693} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e38a452cd3a66d0dcf4a436135f19664","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"093b3de5-45fa-40ba-bb35-1d5d9f96e3e3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.7904365} 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":"522ea820-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3"},{"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/41c522d7-e629-4032-b97d-d0fccbcc89ae"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0"}}},"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":"419efeb553a90204748d91e9c110e224","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3"},{"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/41c522d7-e629-4032-b97d-d0fccbcc89ae"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0 204 40ms","method":"DELETE","requestID":"522ea820-3d42-11ef-b841-3faa56dbb9da","responseTime":40,"status":204,"url":"/peerconnections/57d1affd-a3b6-4969-b6f2-b72bff3005f0"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8d86496-692b-4747-9d06-8cf6972f0dff","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.8447404} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.154861,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3","object_type":"device","rebac_allow":false,"scope_allow":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":"52384510-3d42-11ef-b841-3faa56dbb9da"},"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/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling 200 18ms","method":"POST","requestID":"52384510-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F79e6f55e-0195-4086-b4be-946bff2a497d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F79e6f55e-0195-4086-b4be-946bff2a497d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"f63b0d59-d92a-4940-b3ed-ca2fbc0b550f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.853236} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"422eb93d-5a44-4e15-bd12-a208c2c218b7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.8536005} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c99d256bda8bad4a4375945eecd5133"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.530163,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41c522d7-e629-4032-b97d-d0fccbcc89ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbfbe83e-ca39-4648-adbf-6746010a7a4d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.8621218} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae","object_type":"device","rebac_allow":false,"scope_allow":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":"523ba070-3d42-11ef-b841-3faa56dbb9da"},"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/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling 200 16ms","method":"POST","requestID":"523ba070-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/79e6f55e-0195-4086-b4be-946bff2a497d"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/79e6f55e-0195-4086-b4be-946bff2a497d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c99d256bda8bad4a4375945eecd5133"} experiment-1 | {"level":"info","message":"DELETE /experiments/79e6f55e-0195-4086-b4be-946bff2a497d 204 163ms","method":"DELETE","requestID":"2c99d256bda8bad4a4375945eecd5133","responseTime":163,"status":204,"url":"/experiments/79e6f55e-0195-4086-b4be-946bff2a497d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"e38a452cd3a66d0dcf4a436135f19664","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"e38a452cd3a66d0dcf4a436135f19664"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"419efeb553a90204748d91e9c110e224","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"419efeb553a90204748d91e9c110e224"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3cba1633f21b8ff3c43b26ddf8023e25","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2884","request_time":"0.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":"539f60fe88d3f5d2af76111d06f655be"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +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.690","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e158718f429ddadd812169820c2cbcd3"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.900344,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/41c522d7-e629-4032-b97d-d0fccbcc89ae' 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":"3cba1633f21b8ff3c43b26ddf8023e25"},"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/8d8b2ea9-5b32-44b0-b090-ab2ea15c90b3' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e3767963-9057-4289-a51c-48331069aa1d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.9542503} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cba1633f21b8ff3c43b26ddf8023e25"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93e292e0-1621-4ca5-9f2a-01fddeca6cb5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.958679} 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":"3cba1633f21b8ff3c43b26ddf8023e25"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"0765c12a-4947-4c13-a2de-e3c7c56c6a65","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.9698455} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed41e7bb-466a-4d18-aa98-b37c5153ab16","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.969961} 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":"3cba1633f21b8ff3c43b26ddf8023e25"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:12.969825458Z"}]},"request_id":"afe18eed-31ca-4973-acb9-2254f0d6983e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454052.9736598} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cba1633f21b8ff3c43b26ddf8023e25"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:12 +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":"3cba1633f21b8ff3c43b26ddf8023e25"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"3cba1633f21b8ff3c43b26ddf8023e25","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c8760ddf7434077e116371178f50ed81","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.677205,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454052,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Mn0.rLs2xAS3L6Uu5iPunixW8pX6vOmtjhl_5XGhKiX4Ziw"} 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":"c8760ddf7434077e116371178f50ed81"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d88391de-7dd0-4eef-9329-7ec0886f8171","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454053.0001473} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8760ddf7434077e116371178f50ed81"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4182fc62-5f2a-46aa-98c4-1cae1530c674","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454053.0049763} 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":"c8760ddf7434077e116371178f50ed81"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"39ffd661-e902-4d8c-8113-620ce0a23f30","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454053.0140185} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5680a19-41b6-47f3-8a24-d141994c2296","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454053.0141277} 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":"c8760ddf7434077e116371178f50ed81"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:13.013998931Z"}]},"request_id":"5af366bb-63e4-4ce1-ad0d-40531d2de9bb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454053.018182} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8760ddf7434077e116371178f50ed81"},"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":"c8760ddf7434077e116371178f50ed81","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8760ddf7434077e116371178f50ed81"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1b22adeba3a523c4b450bb63472b2900","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)"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1b22adeba3a523c4b450bb63472b2900"} device-1 | {"level":"info","message":"OPTIONS /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/websocket 200 1ms","method":"OPTIONS","requestID":"1b22adeba3a523c4b450bb63472b2900","responseTime":1,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"27c8a72d6d5f7ab3ccac0b4510ed3fb5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"27c8a72d6d5f7ab3ccac0b4510ed3fb5"} device-1 | {"level":"info","message":"OPTIONS /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/websocket 200 1ms","method":"OPTIONS","requestID":"27c8a72d6d5f7ab3ccac0b4510ed3fb5","responseTime":1,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"0914ab04021c72a9a8c12a6febdf62c3","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e39976c4a48515f720988632932c268e","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.171096,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} 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":"0914ab04021c72a9a8c12a6febdf62c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.251952,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e39976c4a48515f720988632932c268e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/websocket 200 18ms","method":"POST","requestID":"e39976c4a48515f720988632932c268e","responseTime":18,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e39976c4a48515f720988632932c268e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0914ab04021c72a9a8c12a6febdf62c3"} device-1 | {"level":"info","message":"POST /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/websocket 200 31ms","method":"POST","requestID":"0914ab04021c72a9a8c12a6febdf62c3","responseTime":31,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1efdf72a40350a57aa6a04b72c97844d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931699,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1efdf72a40350a57aa6a04b72c97844d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:12.969825458Z"}]},"request_id":"7e32cb1f-ba82-4b07-aeae-5e1fb53a2997","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.121419} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1efdf72a40350a57aa6a04b72c97844d"},"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/c6ce7474-77bc-4999-a546-7d645eeb6e1f? 200 16ms","method":"GET","requestID":"1efdf72a40350a57aa6a04b72c97844d","responseTime":16,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1efdf72a40350a57aa6a04b72c97844d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2f29fa60917b4e58dc79a48a572c39d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140663,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2f29fa60917b4e58dc79a48a572c39d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:13.013998931Z"}]},"request_id":"c984d1ea-1c69-4961-a831-23d3d3d4e776","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.1454377} 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":"b2f29fa60917b4e58dc79a48a572c39d"},"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/37dc8be9-ee0f-4b64-9c6a-98b963be25e4? 200 17ms","method":"GET","requestID":"b2f29fa60917b4e58dc79a48a572c39d","responseTime":17,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4? 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":"b2f29fa60917b4e58dc79a48a572c39d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5d037e273084cbd1c907c427f50e6827","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:57924","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.148345,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d037e273084cbd1c907c427f50e6827"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"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:57924","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765485,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53a20e40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.84846,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53a25c60-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:12.969825458Z"}]},"request_id":"79855c67-4dca-4323-acfd-4dc3604cbd3d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.214105} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53a20e40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:13.013998931Z"}]},"request_id":"44ce49a8-0b21-48ca-8bd2-2cef6b1972ef","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.215098} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53a25c60-3d42-11ef-b841-3faa56dbb9da"},"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/c6ce7474-77bc-4999-a546-7d645eeb6e1f? 200 19ms","method":"GET","requestID":"53a20e40-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4? 200 19ms","method":"GET","requestID":"53a25c60-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"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:57924","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.80154,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} 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":"53ae1c30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.64907,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36698","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53ae6a50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:36698","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.328089,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19642a1f-8a1f-4d26-8920-6659ba9f8dec","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.3002744} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53aeb870-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:12.969825458Z"}]},"request_id":"aea50fef-2ce8-4db8-9eba-6bb1c345481b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.3058581} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:13.013998931Z"}]},"request_id":"09a1bb7a-748e-4ab9-9ad3-77a3910fdead","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.3088152} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53ae1c30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"level":"info","message":"POST /relations/query 200 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":"53ae6a50-3d42-11ef-b841-3faa56dbb9da"},"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/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling 200 29ms","method":"POST","requestID":"53aeb870-3d42-11ef-b841-3faa56dbb9da","responseTime":29,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f? 200 42ms","method":"GET","requestID":"53ae1c30-3d42-11ef-b841-3faa56dbb9da","responseTime":42,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4? 200 42ms","method":"GET","requestID":"53ae6a50-3d42-11ef-b841-3faa56dbb9da","responseTime":42,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F09455c54-89a6-4a13-8a9d-8cc43c420d3f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F09455c54-89a6-4a13-8a9d-8cc43c420d3f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"c53c0bdf-0c76-4e0b-a513-0385310be40b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.329135} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02c4849e-6682-411e-bc3b-6c65c58c6ecf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.329519} 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74bd8541-01ed-4c23-ac58-fcf63b0aa2cc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.3310742} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.721286,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","rebac_allow":false,"scope_allow":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":"53b3c180-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d037e273084cbd1c907c427f50e6827"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":35}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} device-1 | {"level":"info","message":"POST /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/signaling 200 18ms","method":"POST","requestID":"53b3c180-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfe39ce3-e44e-4282-9eea-1ae96f3fdf84","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.3418052} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.778901,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","rebac_allow":false,"scope_allow":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":"53b56f30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d037e273084cbd1c907c427f50e6827"} experiment-1 | {"level":"info","message":"POST /experiments? 201 189ms","method":"POST","requestID":"5d037e273084cbd1c907c427f50e6827","responseTime":189,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling 200 18ms","method":"POST","requestID":"53b56f30-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"993a44f2c37ddcd142de599ce12f6dfe","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"751b2e98-bf09-4e9f-b762-b270d9d103c2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.3587568} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.047151,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","rebac_allow":false,"scope_allow":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":"53b8a380-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147537,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"993a44f2c37ddcd142de599ce12f6dfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/signaling 200 15ms","method":"POST","requestID":"53b8a380-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:12.969825458Z"}]},"request_id":"41a4f893-8c9f-42dc-8036-454c56a7f846","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.3678036} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"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":"e68629bf-dc2d-45c9-b370-4f03315a5796"},{"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":"1abd6dce-3cc3-4b27-9b3c-de8f33832d6c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"49e668d9-cd43-4778-8c55-71362bf430ec"}]},"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/37dc8be9-ee0f-4b64-9c6a-98b963be25e4"},{"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/c6ce7474-77bc-4999-a546-7d645eeb6e1f"}],"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":"993a44f2c37ddcd142de599ce12f6dfe"},"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:57924","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"993a44f2c37ddcd142de599ce12f6dfe"} device-1 | {"level":"info","message":"GET /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f? 200 17ms","method":"GET","requestID":"993a44f2c37ddcd142de599ce12f6dfe","responseTime":17,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.906281,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} 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":"53bb89b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6a83cdaf3ba7a47917dddd91dac9de85","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213704,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} 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":"6a83cdaf3ba7a47917dddd91dac9de85"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"6028729a-a0cd-41e1-92b8-89daa0a5c658","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.389385} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1dfdfb1-d161-4dfa-a708-b6eb881c8fd7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.3896174} 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":"53bb89b0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:13.013998931Z"}]},"request_id":"de159cb5-ff9a-4aef-a7d0-16366292578d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.3964372} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a83cdaf3ba7a47917dddd91dac9de85"},"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/4cd2eb7e-c1ea-4e01-828f-4c85d440c857'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857'"} 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":"53bb89b0-3d42-11ef-b841-3faa56dbb9da","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4? 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":"6a83cdaf3ba7a47917dddd91dac9de85"} device-1 | {"level":"info","message":"GET /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4? 200 26ms","method":"GET","requestID":"6a83cdaf3ba7a47917dddd91dac9de85","responseTime":26,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83fc3d96-735f-4d25-a76c-539ef54bdbe4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.4445426} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.802534,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53c5e9f0-3d42-11ef-b841-3faa56dbb9da"},"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/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling 200 10ms","method":"POST","requestID":"53c5e9f0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8fde5b3-5d3c-477f-a160-99022b5ac191","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.4566886} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445676,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53c7beb0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/signaling 200 10ms","method":"POST","requestID":"53c7beb0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4cd2eb7e-c1ea-4e01-828f-4c85d440c857","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":"2141745faafe1360395d6c72a87d8025","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4"},{"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/c6ce7474-77bc-4999-a546-7d645eeb6e1f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"2141745faafe1360395d6c72a87d8025","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"2141745faafe1360395d6c72a87d8025"} device-1 | {"data":{"peerconnection":"4cd2eb7e-c1ea-4e01-828f-4c85d440c857","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"4cd2eb7e-c1ea-4e01-828f-4c85d440c857","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/4cd2eb7e-c1ea-4e01-828f-4c85d440c857' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4cd2eb7e-c1ea-4e01-828f-4c85d440c857","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":"df534ff2f64ce35aad6cb49895946036","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/37dc8be9-ee0f-4b64-9c6a-98b963be25e4"},{"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/c6ce7474-77bc-4999-a546-7d645eeb6e1f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4cd2eb7e-c1ea-4e01-828f-4c85d440c857","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0e1a017-91b9-4aec-a326-e1a8c6546391","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.5346527} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":1.968824,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857","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":"53d3cca0-3d42-11ef-b841-3faa56dbb9da"},"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/4cd2eb7e-c1ea-4e01-828f-4c85d440c857 200 8ms","method":"GET","requestID":"53d3cca0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"df534ff2f64ce35aad6cb49895946036","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"df534ff2f64ce35aad6cb49895946036"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb323fd4-c6a6-4ca1-9888-70abc9cb44fc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.5666392} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.050025,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","rebac_allow":false,"scope_allow":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":"53d8aea0-3d42-11ef-b841-3faa56dbb9da"},"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/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/signaling 200 8ms","method":"POST","requestID":"53d8aea0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c03c2be-5280-4aa7-a8c9-9cff350b72d5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.5777717} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.240138,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53da5c50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling 200 8ms","method":"POST","requestID":"53da5c50-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"20977aa40e22bfb7bd398a9443757af9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.662779,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} 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":"20977aa40e22bfb7bd398a9443757af9"},"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/09455c54-89a6-4a13-8a9d-8cc43c420d3f"} experiment-1 | {"level":"info","message":"GET /experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f 200 9ms","method":"GET","requestID":"20977aa40e22bfb7bd398a9443757af9","responseTime":9,"status":200,"url":"/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f 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":"20977aa40e22bfb7bd398a9443757af9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ef335fc358d2108bdb152c5a93d394b2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.066458,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} 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":"ef335fc358d2108bdb152c5a93d394b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.730744,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} 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":"53e3ab20-3d42-11ef-b841-3faa56dbb9da"},"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/4cd2eb7e-c1ea-4e01-828f-4c85d440c857' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4cd2eb7e-c1ea-4e01-828f-4c85d440c857","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4cd2eb7e-c1ea-4e01-828f-4c85d440c857': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4cd2eb7e-c1ea-4e01-828f-4c85d440c857","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"105b5a15-91c8-4e99-bdeb-ccd68fff6ff5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.6507916} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1794de9-328d-4f86-86d5-168900014524","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.6511445} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ffa94aca94216278bff0d8697f1eb368","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":"53e3ab20-3d42-11ef-b841-3faa56dbb9da"},"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)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f8b85791e5d12fca42282dbc155f839b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4"},{"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/c6ce7474-77bc-4999-a546-7d645eeb6e1f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4"},{"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/c6ce7474-77bc-4999-a546-7d645eeb6e1f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857 204 34ms","method":"DELETE","requestID":"53e3ab20-3d42-11ef-b841-3faa56dbb9da","responseTime":34,"status":204,"url":"/peerconnections/4cd2eb7e-c1ea-4e01-828f-4c85d440c857"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37dc8be9-ee0f-4b64-9c6a-98b963be25e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3dccab9-c2ec-4ef5-976b-25b8d6b42ad1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.690964} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.735891,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53eb9a60-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/signaling 200 9ms","method":"POST","requestID":"53eb9a60-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F09455c54-89a6-4a13-8a9d-8cc43c420d3f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F09455c54-89a6-4a13-8a9d-8cc43c420d3f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"795090f3-7432-46ab-b833-4b4693eee143","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.6976476} 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e195f84-caf1-41d2-8a9f-417a97ee0f22","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.6979642} 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":"ef335fc358d2108bdb152c5a93d394b2"},"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:57924","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6ce7474-77bc-4999-a546-7d645eeb6e1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7e4f57d-078d-4fcc-9277-133ffcfa2cd4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.702701} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.635818,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53ed4810-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling 200 11ms","method":"POST","requestID":"53ed4810-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef335fc358d2108bdb152c5a93d394b2"} experiment-1 | {"level":"info","message":"DELETE /experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f 204 137ms","method":"DELETE","requestID":"ef335fc358d2108bdb152c5a93d394b2","responseTime":137,"status":204,"url":"/experiments/09455c54-89a6-4a13-8a9d-8cc43c420d3f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"ffa94aca94216278bff0d8697f1eb368","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.115","http_referrer":"","http_user_agent":"node-fetch","requestID":"ffa94aca94216278bff0d8697f1eb368"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"f8b85791e5d12fca42282dbc155f839b","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.115","http_referrer":"","http_user_agent":"node-fetch","requestID":"f8b85791e5d12fca42282dbc155f839b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5babffdacfbd39831e9415b70d780aca","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.91298,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} 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":"5babffdacfbd39831e9415b70d780aca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +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.690","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8c76561da56ec9e7ea7ff8f20ef9dded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +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.700","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b74ea5a5e1326075f4d39484e9cf1b94"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c6ce7474-77bc-4999-a546-7d645eeb6e1f' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/37dc8be9-ee0f-4b64-9c6a-98b963be25e4' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f39ca2a4-5dfe-4236-bc52-a803c66af7b6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.7905793} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5babffdacfbd39831e9415b70d780aca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a07f8f37-db9c-4ba4-a7c1-3565c1bcc6ca","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.7945135} 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":"5babffdacfbd39831e9415b70d780aca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"9a399004-e4ca-4940-8ef7-86abbc1ba667","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.8050966} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"774fe1ac-6255-4d5c-8881-5cbaaa969e75","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.805176} 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":"5babffdacfbd39831e9415b70d780aca"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.805078238Z"}]},"request_id":"cece0100-0f95-4fdf-aa3c-30285ca6decb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.808704} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5babffdacfbd39831e9415b70d780aca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5babffdacfbd39831e9415b70d780aca"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"5babffdacfbd39831e9415b70d780aca","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8092a7b5e8d87509914a79d52f071bd9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.701526,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454055,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1NX0.BiZLwyTfE8R6lnVAA_HdjSYFl3Mi3rPx9s2h5brBQUI"} 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":"8092a7b5e8d87509914a79d52f071bd9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fbdb8e61-f342-4142-abb0-25c7eacc8cb6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.830033} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8092a7b5e8d87509914a79d52f071bd9"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d532146a-b4a2-4575-a24b-6a63f64b70d5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.8338287} 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":"8092a7b5e8d87509914a79d52f071bd9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"72011632-69c3-466d-b6a1-7704d0e7e881","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.8489137} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e8cf564-ff36-42a4-b3c7-c2a47ad64d1b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.8490958} 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":"8092a7b5e8d87509914a79d52f071bd9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.848894666Z"}]},"request_id":"4648e40d-1ae4-4700-920e-f1e5b625b8d8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454055.8523912} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8092a7b5e8d87509914a79d52f071bd9"},"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":"8092a7b5e8d87509914a79d52f071bd9","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8092a7b5e8d87509914a79d52f071bd9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Nn0.fMN0nzMxyfrTPFJMHkBM2nSb_dEvjajzA5iuh2iZPmg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4752eab027126e8b3a4ea04364d9cfbf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139764,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454056,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Nn0.fMN0nzMxyfrTPFJMHkBM2nSb_dEvjajzA5iuh2iZPmg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4752eab027126e8b3a4ea04364d9cfbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.848894666Z"}]},"request_id":"7418e9e8-5c25-4ab3-a2f0-fe6fbe199e97","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454056.352641} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4752eab027126e8b3a4ea04364d9cfbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0f9623f-e1a5-4f48-b781-c03229835804","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454056.357703} 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":"4752eab027126e8b3a4ea04364d9cfbf"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.848894666Z"}]},"request_id":"58438efd-333e-438e-9cd1-ae08748602cc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454056.3714907} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4752eab027126e8b3a4ea04364d9cfbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4752eab027126e8b3a4ea04364d9cfbf"} device-1 | {"level":"info","message":"PATCH /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8 200 33ms","method":"PATCH","requestID":"4752eab027126e8b3a4ea04364d9cfbf","responseTime":33,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Nn0.fMN0nzMxyfrTPFJMHkBM2nSb_dEvjajzA5iuh2iZPmg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ae57245d5e33576d70d54943aa40162f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.75171,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454056,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1Nn0.fMN0nzMxyfrTPFJMHkBM2nSb_dEvjajzA5iuh2iZPmg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae57245d5e33576d70d54943aa40162f"},"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/69f004b1-9d32-4751-8e6e-e65506ff62b8/websocket 200 18ms","method":"POST","requestID":"ae57245d5e33576d70d54943aa40162f","responseTime":18,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/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":"ae57245d5e33576d70d54943aa40162f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8' 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":"85fa2f5a264f1a993546697986048047","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/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":"85fa2f5a264f1a993546697986048047"} device-1 | {"level":"info","message":"OPTIONS /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/websocket 200 1ms","method":"OPTIONS","requestID":"85fa2f5a264f1a993546697986048047","responseTime":1,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a382b892a298c1b2a4dcd1b2d900bc51","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:17Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.257327,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454057,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a382b892a298c1b2a4dcd1b2d900bc51"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/websocket 200 23ms","method":"POST","requestID":"a382b892a298c1b2a4dcd1b2d900bc51","responseTime":23,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/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":"a382b892a298c1b2a4dcd1b2d900bc51"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fc3faecb662b67878eb7de707cb65c68","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:17Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.209753,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454057,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc3faecb662b67878eb7de707cb65c68"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.805078238Z"}]},"request_id":"1f3be9ba-9e9e-4793-bed6-0468228bff72","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454057.9246078} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc3faecb662b67878eb7de707cb65c68"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30? 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":"fc3faecb662b67878eb7de707cb65c68"} device-1 | {"level":"info","message":"GET /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30? 200 18ms","method":"GET","requestID":"fc3faecb662b67878eb7de707cb65c68","responseTime":18,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7d742407c80df7b6d49eb85053eb2653","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:17Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.242094,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454057,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d742407c80df7b6d49eb85053eb2653"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.848894666Z"}]},"request_id":"1b692e23-2f58-4586-8e5a-710bb2571600","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454057.95239} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d742407c80df7b6d49eb85053eb2653"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8? 200 18ms","method":"GET","requestID":"7d742407c80df7b6d49eb85053eb2653","responseTime":18,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d742407c80df7b6d49eb85053eb2653"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"078375857c03dd912f184f35d67a433f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:17Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.368821,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454057,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"078375857c03dd912f184f35d67a433f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"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:57924","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.338212,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454057,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554efaf0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719689,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454057,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554f4910-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.805078238Z"}]},"request_id":"05aa76d7-b497-4181-9a04-be6b8ffa29b1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.0249474} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554efaf0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.848894666Z"}]},"request_id":"0d992093-313f-45f5-bfdb-a3b6c3ebe64a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.0258222} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554f4910-3d42-11ef-b841-3faa56dbb9da"},"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/f6aca333-14f7-4ec1-9795-dd2c74c87b30? 200 17ms","method":"GET","requestID":"554efaf0-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8? 200 16ms","method":"GET","requestID":"554f4910-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"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/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898379,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454057,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"555822b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678719,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454057,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"555849c0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.271116,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"186b3647-62cb-41e7-8b63-d9c75bdf5a22","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.084553} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.805078238Z"}]},"request_id":"a5de28ec-44dc-4cef-81b7-65ef31c6f381","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.0867646} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","rebac_allow":false,"scope_allow":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":"555897e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"555822b0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.848894666Z"}]},"request_id":"f4dc368f-f994-420b-b690-271e52e6ac57","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.087773} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"555849c0-3d42-11ef-b841-3faa56dbb9da"},"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/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling 200 15ms","method":"POST","requestID":"555897e0-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30? 200 19ms","method":"GET","requestID":"555822b0-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8? 200 19ms","method":"GET","requestID":"555849c0-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.224958,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8b70924-71e7-45dd-9fed-6e8f31fd4427","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.101003} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70ea2142-2482-4906-94b0-029e5fdee7d1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.102307} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"555b5700-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.324674,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8ea7ca82-b9bb-4366-8562-27ba04482280#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8ea7ca82-b9bb-4366-8562-27ba04482280","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"4e4d14da-bb1b-4814-8098-faeb72a2624b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.1025095} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26d13b8a-d884-4908-8b3e-9fdd57041e03","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.1027975} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"555ba520-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} 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":"078375857c03dd912f184f35d67a433f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling 200 12ms","method":"POST","requestID":"555b5700-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling 200 11ms","method":"POST","requestID":"555ba520-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"POST /experiments? 201 146ms","method":"POST","requestID":"078375857c03dd912f184f35d67a433f","responseTime":146,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"078375857c03dd912f184f35d67a433f"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdfbe481-e81d-4c2e-9b5b-33f78bc06cfc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.1178315} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1OH0.MBiBLfvsKU3zj-ErhCmu3vpmxUZnqs38IYmke7MGIZc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ed28550a64e483025c42cd4d0711336c","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.632492,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","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 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"555def10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844374,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454058,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1OH0.MBiBLfvsKU3zj-ErhCmu3vpmxUZnqs38IYmke7MGIZc"} device-1 | {"level":"info","message":"POST /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling 200 11ms","method":"POST","requestID":"555def10-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed28550a64e483025c42cd4d0711336c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"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":"7a38476e-395a-4699-aca7-3bd515fb8241"},{"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":"8d5adcca-fb10-460d-bc79-4b05cc42df7b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"06de60b4-ae3a-4773-8df1-3fba7921cb4e"}]},"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/f6aca333-14f7-4ec1-9795-dd2c74c87b30"},{"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/69f004b1-9d32-4751-8e6e-e65506ff62b8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.805078238Z"}]},"request_id":"77adbbe0-3e57-4b71-bef7-04bcbf17e47e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.1275501} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed28550a64e483025c42cd4d0711336c"},"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:57924","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30? 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":"ed28550a64e483025c42cd4d0711336c"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.776685,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} device-1 | {"level":"info","message":"GET /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30? 200 12ms","method":"GET","requestID":"ed28550a64e483025c42cd4d0711336c","responseTime":12,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454057,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1N30.nTR1vFN2FAL8n23lQfbCncrebVyUul-t5PsD6i7Om8k"} 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":"556011f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1OH0.MBiBLfvsKU3zj-ErhCmu3vpmxUZnqs38IYmke7MGIZc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c2c607ff758ac2e1cd1a27c9392b94af","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"78e24f0e-960d-4830-9c75-e71267af9974","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.1411407} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a03cc8a-ae66-4f0d-97d6-73d60567f9d2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.1414566} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918944,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454058,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA1OH0.MBiBLfvsKU3zj-ErhCmu3vpmxUZnqs38IYmke7MGIZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2c607ff758ac2e1cd1a27c9392b94af"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"556011f0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:15.848894666Z"}]},"request_id":"7f3032a5-8450-4005-8c7e-30542cb8047d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.1488936} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2c607ff758ac2e1cd1a27c9392b94af"},"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/050c97e8-6576-45b1-945b-205f445c99dd'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd'"} 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":"556011f0-3d42-11ef-b841-3faa56dbb9da","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":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c2c607ff758ac2e1cd1a27c9392b94af"} device-1 | {"level":"info","message":"GET /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8? 200 25ms","method":"GET","requestID":"c2c607ff758ac2e1cd1a27c9392b94af","responseTime":25,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abefdef7-0181-4c30-9dcb-4de9f2777039","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.1950023} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.575306,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5569aee0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling 200 9ms","method":"POST","requestID":"5569aee0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b409ea4c-010b-416a-a5b2-8d5af84d079e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454058.2056513} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.437258,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"556b3580-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling 200 9ms","method":"POST","requestID":"556b3580-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling"} device-1 | {"data":{"peerconnection":"050c97e8-6576-45b1-945b-205f445c99dd","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/050c97e8-6576-45b1-945b-205f445c99dd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"050c97e8-6576-45b1-945b-205f445c99dd","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/f6aca333-14f7-4ec1-9795-dd2c74c87b30'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7cbed4c92ed674991ad969bcf26fcb2e","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/f6aca333-14f7-4ec1-9795-dd2c74c87b30"},{"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/69f004b1-9d32-4751-8e6e-e65506ff62b8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"7cbed4c92ed674991ad969bcf26fcb2e","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +0000","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":"7cbed4c92ed674991ad969bcf26fcb2e"} device-1 | {"data":{"peerconnection":"050c97e8-6576-45b1-945b-205f445c99dd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"050c97e8-6576-45b1-945b-205f445c99dd","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/050c97e8-6576-45b1-945b-205f445c99dd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"050c97e8-6576-45b1-945b-205f445c99dd","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":"7207aac202497e3c5d34a9aceb92eae6","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/f6aca333-14f7-4ec1-9795-dd2c74c87b30"},{"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/69f004b1-9d32-4751-8e6e-e65506ff62b8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F050c97e8-6576-45b1-945b-205f445c99dd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"038ee155-2914-4050-a074-5c613b1caafa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.2963216} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.427787,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd","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":"56a9f710-3d42-11ef-b841-3faa56dbb9da"},"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/050c97e8-6576-45b1-945b-205f445c99dd 200 13ms","method":"GET","requestID":"56a9f710-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"7207aac202497e3c5d34a9aceb92eae6","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"7207aac202497e3c5d34a9aceb92eae6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0f8d44b-d19e-4eb1-a470-8ab889fb92cf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.3355334} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.924977,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","rebac_allow":false,"scope_allow":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":"56afea80-3d42-11ef-b841-3faa56dbb9da"},"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/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling 200 14ms","method":"POST","requestID":"56afea80-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99eea8fb-5dac-435d-87f1-31fe915da2dd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.3523161} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.472857,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","rebac_allow":false,"scope_allow":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":"56b28290-3d42-11ef-b841-3faa56dbb9da"},"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/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling 200 12ms","method":"POST","requestID":"56b28290-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MH0.PlBsOOaVC4P9eS1-EnOFcFi5LMihe9hqbqn6uFRsNR0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"338298ca653fddf19a384d02956f9567","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.208299,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454060,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MH0.PlBsOOaVC4P9eS1-EnOFcFi5LMihe9hqbqn6uFRsNR0"} 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":"338298ca653fddf19a384d02956f9567"},"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/8ea7ca82-b9bb-4366-8562-27ba04482280"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8ea7ca82-b9bb-4366-8562-27ba04482280 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"338298ca653fddf19a384d02956f9567"} experiment-1 | {"level":"info","message":"GET /experiments/8ea7ca82-b9bb-4366-8562-27ba04482280 200 19ms","method":"GET","requestID":"338298ca653fddf19a384d02956f9567","responseTime":19,"status":200,"url":"/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MH0.PlBsOOaVC4P9eS1-EnOFcFi5LMihe9hqbqn6uFRsNR0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"82f216d35fa84677533377678ec10e72","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.559558,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454060,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MH0.PlBsOOaVC4P9eS1-EnOFcFi5LMihe9hqbqn6uFRsNR0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82f216d35fa84677533377678ec10e72"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.263118,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454060,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MH0.PlBsOOaVC4P9eS1-EnOFcFi5LMihe9hqbqn6uFRsNR0"} 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":"56be9080-3d42-11ef-b841-3faa56dbb9da"},"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/050c97e8-6576-45b1-945b-205f445c99dd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"050c97e8-6576-45b1-945b-205f445c99dd","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f0f5f277016cf8ecd6a2d6b2c1ed3a58","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F050c97e8-6576-45b1-945b-205f445c99dd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F050c97e8-6576-45b1-945b-205f445c99dd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"bd71eac9-9928-4609-812b-267c2557471f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.4510376} 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/f6aca333-14f7-4ec1-9795-dd2c74c87b30"},{"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/69f004b1-9d32-4751-8e6e-e65506ff62b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd"}}},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec7c7cee-7b39-4bee-be44-99fb35c5c345","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.451639} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6697f56d4ad1843888080dd66428c8af","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56be9080-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/f6aca333-14f7-4ec1-9795-dd2c74c87b30"},{"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/69f004b1-9d32-4751-8e6e-e65506ff62b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"050c97e8-6576-45b1-945b-205f445c99dd","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/050c97e8-6576-45b1-945b-205f445c99dd 204 51ms","method":"DELETE","requestID":"56be9080-3d42-11ef-b841-3faa56dbb9da","responseTime":51,"status":204,"url":"/peerconnections/050c97e8-6576-45b1-945b-205f445c99dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6aca333-14f7-4ec1-9795-dd2c74c87b30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9abaee11-c7c6-465e-a008-65b7ed34c277","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.5067825} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.368485,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30","object_type":"device","rebac_allow":false,"scope_allow":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":"56ca0230-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8ea7ca82-b9bb-4366-8562-27ba04482280': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8ea7ca82-b9bb-4366-8562-27ba04482280","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"1f9616f8-1835-4853-ab48-6fe70cfa85bf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.513341} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling 200 15ms","method":"POST","requestID":"56ca0230-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/f6aca333-14f7-4ec1-9795-dd2c74c87b30/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8247e5b4-3ee5-4970-bc83-7cbb51896cc8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.513891} 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":"82f216d35fa84677533377678ec10e72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69f004b1-9d32-4751-8e6e-e65506ff62b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cfa534d-30c3-4272-8de3-e6be833a4f7c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.5262403} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.034496,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8","object_type":"device","rebac_allow":false,"scope_allow":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":"56cce860-3d42-11ef-b841-3faa56dbb9da"},"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/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling 200 15ms","method":"POST","requestID":"56cce860-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/69f004b1-9d32-4751-8e6e-e65506ff62b8/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8ea7ca82-b9bb-4366-8562-27ba04482280 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":"82f216d35fa84677533377678ec10e72"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +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.192","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8d9f2466ada776d63d65ab1f1a2aa68c"} experiment-1 | {"level":"info","message":"DELETE /experiments/8ea7ca82-b9bb-4366-8562-27ba04482280 204 185ms","method":"DELETE","requestID":"82f216d35fa84677533377678ec10e72","responseTime":185,"status":204,"url":"/experiments/8ea7ca82-b9bb-4366-8562-27ba04482280"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"f0f5f277016cf8ecd6a2d6b2c1ed3a58","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0f5f277016cf8ecd6a2d6b2c1ed3a58"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"6697f56d4ad1843888080dd66428c8af","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +0000","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":"6697f56d4ad1843888080dd66428c8af"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MH0.PlBsOOaVC4P9eS1-EnOFcFi5LMihe9hqbqn6uFRsNR0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f8664f6c58e557dc2d7239e254a287ce","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +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.717","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"032085098023bbd8e987678f246bed5a"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.197212,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454060,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MH0.PlBsOOaVC4P9eS1-EnOFcFi5LMihe9hqbqn6uFRsNR0"} 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":"f8664f6c58e557dc2d7239e254a287ce"},"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/69f004b1-9d32-4751-8e6e-e65506ff62b8' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d57bb0cb-df50-400b-8b82-81c4859c12e0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.6287465} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8664f6c58e557dc2d7239e254a287ce"},"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/f6aca333-14f7-4ec1-9795-dd2c74c87b30' 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1967471-45ac-4249-a460-d0f77f4d4535","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.6338098} 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":"f8664f6c58e557dc2d7239e254a287ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"8540a9a8-9ee8-4210-9c15-403e3bbc7344","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.650021} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41f66f9b-b146-4c2d-910c-e55bae7f7e7c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.6501431} 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":"f8664f6c58e557dc2d7239e254a287ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.649994571Z"}]},"request_id":"885b0625-97e7-4183-98c1-5a03d2f12d25","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.6553762} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8664f6c58e557dc2d7239e254a287ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8664f6c58e557dc2d7239e254a287ce"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"f8664f6c58e557dc2d7239e254a287ce","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MH0.PlBsOOaVC4P9eS1-EnOFcFi5LMihe9hqbqn6uFRsNR0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6d363ed9f1fabf2254fff6b7f6de50c8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.772016,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454060,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MH0.PlBsOOaVC4P9eS1-EnOFcFi5LMihe9hqbqn6uFRsNR0"} 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":"6d363ed9f1fabf2254fff6b7f6de50c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9d20807a-367a-4aff-b3b5-368137ecd13b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.6806362} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d363ed9f1fabf2254fff6b7f6de50c8"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b40bb3c-d1bd-4f72-bc5b-61fba4eb212a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.6852582} 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":"6d363ed9f1fabf2254fff6b7f6de50c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"86382a3d-6cd0-4724-8136-1a3bc6dfb704","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.6964834} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8685375-6c63-4772-a7b8-9aa315d780ae","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.6965778} 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":"6d363ed9f1fabf2254fff6b7f6de50c8"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.696452312Z"}]},"request_id":"888b3f94-edb9-4fe0-af5c-a0bb122e5c6f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454060.7008007} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d363ed9f1fabf2254fff6b7f6de50c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:20 +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":"6d363ed9f1fabf2254fff6b7f6de50c8"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"6d363ed9f1fabf2254fff6b7f6de50c8","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MX0.V20DYKc8aVBVWx3w_DhepSzNVUtnOIr6vXX_picSnOg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"345cefb8a0c6bf90ab707559f3fe218c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.126661,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454061,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MX0.V20DYKc8aVBVWx3w_DhepSzNVUtnOIr6vXX_picSnOg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"345cefb8a0c6bf90ab707559f3fe218c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.696452312Z"}]},"request_id":"64cd4fdb-359e-40a2-bd5d-ebbf8fafe648","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454061.1969445} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"345cefb8a0c6bf90ab707559f3fe218c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"119e3e33-3e06-44b3-9776-4eb917d4eeae","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454061.2028902} 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":"345cefb8a0c6bf90ab707559f3fe218c"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.696452312Z"}]},"request_id":"ecf0fc76-594b-4c22-9c52-f3d93f27c22c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454061.2156157} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"345cefb8a0c6bf90ab707559f3fe218c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14 200 34ms","method":"PATCH","requestID":"345cefb8a0c6bf90ab707559f3fe218c","responseTime":34,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14"} gateway-1 | {"time_local":"08/Jul/2024:15:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"345cefb8a0c6bf90ab707559f3fe218c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MX0.V20DYKc8aVBVWx3w_DhepSzNVUtnOIr6vXX_picSnOg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e1122376346ab26648940e7cdcc0e9b4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206997,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454061,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2MX0.V20DYKc8aVBVWx3w_DhepSzNVUtnOIr6vXX_picSnOg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1122376346ab26648940e7cdcc0e9b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/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":"e1122376346ab26648940e7cdcc0e9b4"} device-1 | {"level":"info","message":"POST /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/websocket 200 20ms","method":"POST","requestID":"e1122376346ab26648940e7cdcc0e9b4","responseTime":20,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14' 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":"1251540da833aaafc607434973759b5b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/082b8525-5ea8-4bfd-80c0-893582768b76/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":"1251540da833aaafc607434973759b5b"} device-1 | {"level":"info","message":"OPTIONS /devices/082b8525-5ea8-4bfd-80c0-893582768b76/websocket 200 1ms","method":"OPTIONS","requestID":"1251540da833aaafc607434973759b5b","responseTime":1,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"581d90ef2a987f7dc1660aecc31eb52d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.153126,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454062,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"581d90ef2a987f7dc1660aecc31eb52d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/082b8525-5ea8-4bfd-80c0-893582768b76/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"581d90ef2a987f7dc1660aecc31eb52d"} device-1 | {"level":"info","message":"POST /devices/082b8525-5ea8-4bfd-80c0-893582768b76/websocket 200 21ms","method":"POST","requestID":"581d90ef2a987f7dc1660aecc31eb52d","responseTime":21,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d9252927d0f29a83324422c0a097f6c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.332531,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454062,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d9252927d0f29a83324422c0a097f6c"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.649994571Z"}]},"request_id":"1cd47b30-caa7-4e3b-adf3-70494f12306a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.7752454} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d9252927d0f29a83324422c0a097f6c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/082b8525-5ea8-4bfd-80c0-893582768b76? 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":"9d9252927d0f29a83324422c0a097f6c"} device-1 | {"level":"info","message":"GET /devices/082b8525-5ea8-4bfd-80c0-893582768b76? 200 17ms","method":"GET","requestID":"9d9252927d0f29a83324422c0a097f6c","responseTime":17,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5604e24300d44764d2dfdc1dd13b126f","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206901,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454062,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5604e24300d44764d2dfdc1dd13b126f"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.696452312Z"}]},"request_id":"b6cde905-aa2e-4d4c-9f35-d6493915d871","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.8010075} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5604e24300d44764d2dfdc1dd13b126f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14? 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":"5604e24300d44764d2dfdc1dd13b126f"} device-1 | {"level":"info","message":"GET /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14? 200 17ms","method":"GET","requestID":"5604e24300d44764d2dfdc1dd13b126f","responseTime":17,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1841a44d27cc3c535ae31b1fd284d9ab","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.315759,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454062,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1841a44d27cc3c535ae31b1fd284d9ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"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:57924","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.98419,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454062,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58337d40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965358,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454062,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5833cb60-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.649994571Z"}]},"request_id":"acb09224-f21d-4775-902c-54c563c2afda","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.8799267} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58337d40-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.696452312Z"}]},"request_id":"7b7e4265-223c-4a50-b568-862231e669b0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.8813117} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5833cb60-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/082b8525-5ea8-4bfd-80c0-893582768b76? 200 21ms","method":"GET","requestID":"58337d40-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14? 200 21ms","method":"GET","requestID":"5833cb60-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"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:57924","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76879,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454062,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY"} 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":"583f8b30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233578,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454062,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY"} 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":"583fd950-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d74be906-c89b-451d-8c4f-52e8272cd54c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.9614263} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.16392,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","rebac_allow":false,"scope_allow":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":"58404e80-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.696452312Z"}]},"request_id":"03c33912-47b8-4ccc-8510-2567f4f09c21","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.964758} 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":"583fd950-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.649994571Z"}]},"request_id":"bf26995f-5561-459b-8e3b-d83acf4320db","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.9692883} 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":"583f8b30-3d42-11ef-b841-3faa56dbb9da"},"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/082b8525-5ea8-4bfd-80c0-893582768b76/signaling 200 21ms","method":"POST","requestID":"58404e80-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14? 200 34ms","method":"GET","requestID":"583fd950-3d42-11ef-b841-3faa56dbb9da","responseTime":34,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36974873-1878-49f8-a868-dccb39168eb3#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36974873-1878-49f8-a868-dccb39168eb3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"465687d0-9698-423e-9dce-cd8e60964d01","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.9819465} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d75e863-b152-4f28-b604-e17f9d80c6b4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.9826221} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/082b8525-5ea8-4bfd-80c0-893582768b76? 200 39ms","method":"GET","requestID":"583f8b30-3d42-11ef-b841-3faa56dbb9da","responseTime":39,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1841a44d27cc3c535ae31b1fd284d9ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bbe2358-df63-41ae-b7cd-176fb466a6d1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.9872563} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.425423,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58441f10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3bcf30c-e410-4e7e-8263-3f1131e8eaa0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454062.995984} device-1 | {"level":"info","message":"POST /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/signaling 200 20ms","method":"POST","requestID":"58441f10-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.229728,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","rebac_allow":false,"scope_allow":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":"5845f3d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:54:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1841a44d27cc3c535ae31b1fd284d9ab"} experiment-1 | {"level":"info","message":"POST /experiments? 201 185ms","method":"POST","requestID":"1841a44d27cc3c535ae31b1fd284d9ab","responseTime":185,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/082b8525-5ea8-4bfd-80c0-893582768b76/signaling 200 14ms","method":"POST","requestID":"5845f3d0-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2M30.yDY6MaQL8HsFbeqAFofKGSexX8pBUnt458kJ0ZI1FhY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"254efbfbe7671e1827ec841b696b4585","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c80b00ef-0e5b-41b8-a7c2-e5be0f095c6b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454063.012693} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.384438,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240282,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","rebac_allow":false,"scope_allow":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":"58488be0-3d42-11ef-b841-3faa56dbb9da"},"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/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454063,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2M30.yDY6MaQL8HsFbeqAFofKGSexX8pBUnt458kJ0ZI1FhY"} 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":"254efbfbe7671e1827ec841b696b4585"},"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/df8b78ea-df5f-4129-9f40-9ddf95a59a14/signaling 200 15ms","method":"POST","requestID":"58488be0-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.649994571Z"}]},"request_id":"27eeea5f-63ee-4090-a9bb-db718bda2946","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454063.0224457} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"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":"7dbb1cd2-45e3-4337-9fe4-a3a5a7cb78b9"},{"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":"f84e1c05-d1d3-45da-aa57-0b9d9cccd8da"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bba21d06-c092-4e69-ba3e-86e7c8834cec"}]},"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/df8b78ea-df5f-4129-9f40-9ddf95a59a14"},{"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/082b8525-5ea8-4bfd-80c0-893582768b76"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"254efbfbe7671e1827ec841b696b4585"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/082b8525-5ea8-4bfd-80c0-893582768b76? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"254efbfbe7671e1827ec841b696b4585"} device-1 | {"level":"info","message":"GET /devices/082b8525-5ea8-4bfd-80c0-893582768b76? 200 22ms","method":"GET","requestID":"254efbfbe7671e1827ec841b696b4585","responseTime":22,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.960605,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454062,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Mn0.h7FB7RKunAvdmH8u0jE_VwtX3M-51jduxGyspk0QalY"} 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":"584b9920-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2M30.yDY6MaQL8HsFbeqAFofKGSexX8pBUnt458kJ0ZI1FhY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"33f3ff2a6444cfdd076982abd32fae57","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656471,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454063,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2M30.yDY6MaQL8HsFbeqAFofKGSexX8pBUnt458kJ0ZI1FhY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33f3ff2a6444cfdd076982abd32fae57"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"dafa7c42-d4f9-4be2-9480-093b9126c44c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454063.042887} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6fedb670-15e5-484b-a5fc-954c9959e62f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454063.043114} 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":"584b9920-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:20.696452312Z"}]},"request_id":"31646361-89d4-4ac3-abc4-536cdad45301","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454063.0491638} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33f3ff2a6444cfdd076982abd32fae57"},"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/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0'"} 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":"584b9920-3d42-11ef-b841-3faa56dbb9da","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33f3ff2a6444cfdd076982abd32fae57"} device-1 | {"level":"info","message":"GET /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14? 200 26ms","method":"GET","requestID":"33f3ff2a6444cfdd076982abd32fae57","responseTime":26,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8e55afc-2174-4479-9e3d-e791204eb129","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454063.0998073} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.08846,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5855f960-3d42-11ef-b841-3faa56dbb9da"},"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/082b8525-5ea8-4bfd-80c0-893582768b76/signaling 200 11ms","method":"POST","requestID":"5855f960-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"514393ce-ee77-4e79-9fc7-0ed1884c0aff","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454063.1133733} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.723542,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58581c40-3d42-11ef-b841-3faa56dbb9da"},"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/df8b78ea-df5f-4129-9f40-9ddf95a59a14/signaling 200 9ms","method":"POST","requestID":"58581c40-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/signaling"} device-1 | {"data":{"peerconnection":"8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","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/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","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":"d5ad6c2e96387edb8e71bd5c9bc4c459","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/df8b78ea-df5f-4129-9f40-9ddf95a59a14"},{"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/082b8525-5ea8-4bfd-80c0-893582768b76"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"d5ad6c2e96387edb8e71bd5c9bc4c459","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"d5ad6c2e96387edb8e71bd5c9bc4c459"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76'"} device-1 | {"data":{"peerconnection":"8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","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/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","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":"d15e820aaf48d05f1b971cfdc6c9621e","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/df8b78ea-df5f-4129-9f40-9ddf95a59a14"},{"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/082b8525-5ea8-4bfd-80c0-893582768b76"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80fc5b57-01c8-47f3-865c-61594a65797b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.2136555} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.300354,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","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":"59988b80-3d42-11ef-b841-3faa56dbb9da"},"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/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0 200 11ms","method":"GET","requestID":"59988b80-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"d15e820aaf48d05f1b971cfdc6c9621e","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"d15e820aaf48d05f1b971cfdc6c9621e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dcc49a58-af62-4781-bb2d-f323a4d48f8c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.2452261} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.077502,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"599d4670-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/signaling 200 10ms","method":"POST","requestID":"599d4670-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a09c88be-731a-406c-907e-94d2b3649fa1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.2565696} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.618689,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"599f4240-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/082b8525-5ea8-4bfd-80c0-893582768b76/signaling 200 9ms","method":"POST","requestID":"599f4240-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2NX0.pcnc0n4k2Hh123ggL1LA7Wy7qLnkzU-aptXR7lIJDLk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"59d7e53615e4f4881f6ffeffe084eb98","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/36974873-1878-49f8-a868-dccb39168eb3"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.693924,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454065,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2NX0.pcnc0n4k2Hh123ggL1LA7Wy7qLnkzU-aptXR7lIJDLk"} 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":"59d7e53615e4f4881f6ffeffe084eb98"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/36974873-1878-49f8-a868-dccb39168eb3"} gateway-1 | {"time_local":"08/Jul/2024:15:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/36974873-1878-49f8-a868-dccb39168eb3 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59d7e53615e4f4881f6ffeffe084eb98"} experiment-1 | {"level":"info","message":"GET /experiments/36974873-1878-49f8-a868-dccb39168eb3 200 16ms","method":"GET","requestID":"59d7e53615e4f4881f6ffeffe084eb98","responseTime":16,"status":200,"url":"/experiments/36974873-1878-49f8-a868-dccb39168eb3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2NX0.pcnc0n4k2Hh123ggL1LA7Wy7qLnkzU-aptXR7lIJDLk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"051d060ec86401500dfcab3a26e19cb3","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/36974873-1878-49f8-a868-dccb39168eb3"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.195158,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454065,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2NX0.pcnc0n4k2Hh123ggL1LA7Wy7qLnkzU-aptXR7lIJDLk"} 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":"051d060ec86401500dfcab3a26e19cb3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.199367,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454065,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2NX0.pcnc0n4k2Hh123ggL1LA7Wy7qLnkzU-aptXR7lIJDLk"} 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":"59acd6d0-3d42-11ef-b841-3faa56dbb9da"},"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/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ffc8239-1e2b-4278-8fae-ee6ab51b53a0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ffc8239-1e2b-4278-8fae-ee6ab51b53a0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"73006c0c-cf0f-4205-bddb-3a253849ce00","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.3674333} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db081e6f-1a5e-43b4-86b7-a6f4ed739bc2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.3679647} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59acd6d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"61190d2a49512e31ca9b5e0d83e47d42","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14"},{"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/082b8525-5ea8-4bfd-80c0-893582768b76"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ea16baced97e8dfc2b7cd83108acdd41","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/df8b78ea-df5f-4129-9f40-9ddf95a59a14"},{"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/082b8525-5ea8-4bfd-80c0-893582768b76"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0 204 45ms","method":"DELETE","requestID":"59acd6d0-3d42-11ef-b841-3faa56dbb9da","responseTime":45,"status":204,"url":"/peerconnections/8ffc8239-1e2b-4278-8fae-ee6ab51b53a0"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36974873-1878-49f8-a868-dccb39168eb3"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf8b78ea-df5f-4129-9f40-9ddf95a59a14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74f81c87-0e62-426a-8f70-70d29756adbb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.4186845} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.919996,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14","object_type":"device","rebac_allow":false,"scope_allow":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":"59b75e20-3d42-11ef-b841-3faa56dbb9da"},"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/df8b78ea-df5f-4129-9f40-9ddf95a59a14/signaling 200 15ms","method":"POST","requestID":"59b75e20-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/df8b78ea-df5f-4129-9f40-9ddf95a59a14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36974873-1878-49f8-a868-dccb39168eb3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36974873-1878-49f8-a868-dccb39168eb3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"ba335529-e583-4501-86ff-cf42ebc0108b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.4298763} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad3e4e77-8404-4249-9f5d-d65784e96940","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.4302151} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"051d060ec86401500dfcab3a26e19cb3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F082b8525-5ea8-4bfd-80c0-893582768b76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fcc4581-fe14-4f4f-8890-e38d682c133d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.4360368} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.550059,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59ba1d40-3d42-11ef-b841-3faa56dbb9da"},"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/082b8525-5ea8-4bfd-80c0-893582768b76/signaling 200 15ms","method":"POST","requestID":"59ba1d40-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/082b8525-5ea8-4bfd-80c0-893582768b76/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/36974873-1878-49f8-a868-dccb39168eb3"} gateway-1 | {"time_local":"08/Jul/2024:15:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/36974873-1878-49f8-a868-dccb39168eb3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"051d060ec86401500dfcab3a26e19cb3"} experiment-1 | {"level":"info","message":"DELETE /experiments/36974873-1878-49f8-a868-dccb39168eb3 204 179ms","method":"DELETE","requestID":"051d060ec86401500dfcab3a26e19cb3","responseTime":179,"status":204,"url":"/experiments/36974873-1878-49f8-a868-dccb39168eb3"} gateway-1 | {"time_local":"08/Jul/2024:15:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3229","request_time":"4.255","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"66c1f2cb66ca80f9b27e6d83d970ea0a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"61190d2a49512e31ca9b5e0d83e47d42","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"61190d2a49512e31ca9b5e0d83e47d42"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"ea16baced97e8dfc2b7cd83108acdd41","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea16baced97e8dfc2b7cd83108acdd41"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2NX0.pcnc0n4k2Hh123ggL1LA7Wy7qLnkzU-aptXR7lIJDLk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"7a5b0e76920d08f012091b5bbb59acb4","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:54:25 +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.777","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c0ccb7e11886884615893701957f07c1"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.88442,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454065,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2NX0.pcnc0n4k2Hh123ggL1LA7Wy7qLnkzU-aptXR7lIJDLk"} 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":"7a5b0e76920d08f012091b5bbb59acb4"},"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/df8b78ea-df5f-4129-9f40-9ddf95a59a14' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2b214013-76dd-4847-9d31-6cd075d66de5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.5371} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a5b0e76920d08f012091b5bbb59acb4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/082b8525-5ea8-4bfd-80c0-893582768b76' 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98f40252-fd21-4dfe-94be-f13536124acb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.542853} 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":"7a5b0e76920d08f012091b5bbb59acb4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"f0d2b6b4-1860-4e3d-b506-b705ba3a55fe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.5537164} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c328c780-cbf8-4f48-9881-5fa27307ea7e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.5539348} 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":"7a5b0e76920d08f012091b5bbb59acb4"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.553694162Z"}]},"request_id":"334c214a-888c-448d-8990-72087658d8b8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.558592} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a5b0e76920d08f012091b5bbb59acb4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:25 +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":"7a5b0e76920d08f012091b5bbb59acb4"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"7a5b0e76920d08f012091b5bbb59acb4","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2NX0.pcnc0n4k2Hh123ggL1LA7Wy7qLnkzU-aptXR7lIJDLk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"095d58ee4b6720b35de78a82a47fd42a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.474697,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454065,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2NX0.pcnc0n4k2Hh123ggL1LA7Wy7qLnkzU-aptXR7lIJDLk"} 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":"095d58ee4b6720b35de78a82a47fd42a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a3459acb-e8c9-4b20-855b-efbf64ac1648","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.5887175} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"095d58ee4b6720b35de78a82a47fd42a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bfc9f417-97fd-48cb-98cd-eb9cbf6f035a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.5932992} 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":"095d58ee4b6720b35de78a82a47fd42a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"5ab29f8d-f8ec-4281-9ee7-bb98cff422a0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.605213} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"111844b2-0173-4002-a24d-3ffef755ceae","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.6053834} 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":"095d58ee4b6720b35de78a82a47fd42a"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.605191572Z"}]},"request_id":"87047797-0d55-4cbb-8d84-d814cd322783","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454065.6095827} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"095d58ee4b6720b35de78a82a47fd42a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:25 +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":"095d58ee4b6720b35de78a82a47fd42a"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"095d58ee4b6720b35de78a82a47fd42a","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Nn0.qw7EwGKHFjs0vNTga1O9inzZ0zI4_7lknezUGGf83eI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"afb58b5e576c2b3a51fb4b374e70f05f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.058931,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454066,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Nn0.qw7EwGKHFjs0vNTga1O9inzZ0zI4_7lknezUGGf83eI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"afb58b5e576c2b3a51fb4b374e70f05f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.553694162Z"}]},"request_id":"c63973e5-3b17-4517-837e-b327560ab9aa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454066.0972865} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"afb58b5e576c2b3a51fb4b374e70f05f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6beaee9-d747-4be7-a3b7-384c3b02d754","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454066.102994} 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":"afb58b5e576c2b3a51fb4b374e70f05f"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.553694162Z"}]},"request_id":"8c0adf42-5bce-4daa-a667-caaa0286065c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454066.116177} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"afb58b5e576c2b3a51fb4b374e70f05f"},"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/9cdc7986-c46a-4192-b28b-d14b9927ae9b 200 32ms","method":"PATCH","requestID":"afb58b5e576c2b3a51fb4b374e70f05f","responseTime":32,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b"} gateway-1 | {"time_local":"08/Jul/2024:15:54:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"afb58b5e576c2b3a51fb4b374e70f05f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Nn0.qw7EwGKHFjs0vNTga1O9inzZ0zI4_7lknezUGGf83eI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2fbc859ba09d29551c815065c3b87462","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.319626,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454066,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2Nn0.qw7EwGKHFjs0vNTga1O9inzZ0zI4_7lknezUGGf83eI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fbc859ba09d29551c815065c3b87462"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/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":"2fbc859ba09d29551c815065c3b87462"} device-1 | {"level":"info","message":"POST /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/websocket 200 20ms","method":"POST","requestID":"2fbc859ba09d29551c815065c3b87462","responseTime":20,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b' 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":"f68a81340ad211d713c7f8274631766f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/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":"f68a81340ad211d713c7f8274631766f"} device-1 | {"level":"info","message":"OPTIONS /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/websocket 200 1ms","method":"OPTIONS","requestID":"f68a81340ad211d713c7f8274631766f","responseTime":1,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bf07180cd6fd31f3b2fb34f00e147888","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.392509,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf07180cd6fd31f3b2fb34f00e147888"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/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":"bf07180cd6fd31f3b2fb34f00e147888"} device-1 | {"level":"info","message":"POST /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/websocket 200 23ms","method":"POST","requestID":"bf07180cd6fd31f3b2fb34f00e147888","responseTime":23,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"de2e03aa1dbb8cda6f953520fa519198","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.297874,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de2e03aa1dbb8cda6f953520fa519198"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.553694162Z"}]},"request_id":"aabaf15c-5d9e-4522-bdf1-4398ec0a8062","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.7044835} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de2e03aa1dbb8cda6f953520fa519198"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b? 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":"de2e03aa1dbb8cda6f953520fa519198"} device-1 | {"level":"info","message":"GET /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b? 200 17ms","method":"GET","requestID":"de2e03aa1dbb8cda6f953520fa519198","responseTime":17,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"72a8bcaad98e217e8a1f96d20f4e12a1","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.353733,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72a8bcaad98e217e8a1f96d20f4e12a1"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.605191572Z"}]},"request_id":"883a3100-8a9b-4b93-a5e1-a9870c80f0ca","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.7312365} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72a8bcaad98e217e8a1f96d20f4e12a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e? 200 17ms","method":"GET","requestID":"72a8bcaad98e217e8a1f96d20f4e12a1","responseTime":17,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e? 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":"72a8bcaad98e217e8a1f96d20f4e12a1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2d4862ff6fa1b4ca9a65a3427e302683","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.211313,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} 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":"2d4862ff6fa1b4ca9a65a3427e302683"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"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:57924","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.273642,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b22adf0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882966,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b22fc10-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.553694162Z"}]},"request_id":"755a967d-27bf-4fd0-9f68-5df4585a80a5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.8035176} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b22adf0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.605191572Z"}]},"request_id":"78d6d496-f38c-4a38-8395-046f6cda9160","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.8048728} 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":"5b22fc10-3d42-11ef-b841-3faa56dbb9da"},"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/9cdc7986-c46a-4192-b28b-d14b9927ae9b? 200 21ms","method":"GET","requestID":"5b22adf0-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e? 200 21ms","method":"GET","requestID":"5b22fc10-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"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/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830934,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b2e94d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954428,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} 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":"5b2ee2f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:43846","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.553694162Z"}]},"request_id":"9226930c-ca4b-4d84-8222-8f62bbdd805c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.887277} 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":"5b2e94d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:43846","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.961947,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.605191572Z"}]},"request_id":"f8256bb2-c14b-4434-955d-83fd630d5231","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.8889163} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdf331fd-b5bc-4638-955e-86ae73946065","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.8892155} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b2ee2f0-3d42-11ef-b841-3faa56dbb9da"},"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/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b2f3110-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b? 200 29ms","method":"GET","requestID":"5b2e94d0-3d42-11ef-b841-3faa56dbb9da","responseTime":29,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e? 200 30ms","method":"GET","requestID":"5b2ee2f0-3d42-11ef-b841-3faa56dbb9da","responseTime":30,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdd3e9eb8-2468-4083-92a4-f24af4787d4f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdd3e9eb8-2468-4083-92a4-f24af4787d4f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"f4f49ac4-f066-42a3-9865-bb83ee11bb00","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.9018285} device-1 | {"level":"info","message":"POST /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling 200 29ms","method":"POST","requestID":"5b2f3110-3d42-11ef-b841-3faa56dbb9da","responseTime":29,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f5e7795-3184-4e0f-954d-3ab0e74b6868","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.9022696} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d4862ff6fa1b4ca9a65a3427e302683"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f50cae0-2e82-43a4-93a1-101af464e0d4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.9106517} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.72844,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","rebac_allow":false,"scope_allow":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":"5b33c4f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba39bd61-0cd5-43a6-b91b-76dcd80b4716","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.9115624} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.70298,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"08/Jul/2024:15:54:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d4862ff6fa1b4ca9a65a3427e302683"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"2d4862ff6fa1b4ca9a65a3427e302683","responseTime":169,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b343a20-3d42-11ef-b841-3faa56dbb9da"},"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/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling 200 14ms","method":"POST","requestID":"5b33c4f0-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/signaling 200 12ms","method":"POST","requestID":"5b343a20-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5409e86f1457deed04921996f5f764fd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"388cea33-9b15-4804-acf5-31ca3eea71d0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.9266467} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.781026,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} 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":"5409e86f1457deed04921996f5f764fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.455248,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","rebac_allow":false,"scope_allow":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":"5b365d00-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.553694162Z"}]},"request_id":"34f695ec-2782-4004-973d-dec0337f6fa8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.9329562} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/signaling 200 14ms","method":"POST","requestID":"5b365d00-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/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":"5409e86f1457deed04921996f5f764fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"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":"2dbf1060-3f29-4469-ac6e-c5412c37ed64"},{"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":"2b77a33e-3e87-44e8-9b45-9d4003fc460d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6e1e2c82-aacc-4915-89c1-d14dca472a8e"}]},"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/9cdc7986-c46a-4192-b28b-d14b9927ae9b"},{"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/d42b22d2-8a29-491c-8815-ff68abd9fe0e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5409e86f1457deed04921996f5f764fd"} device-1 | {"level":"info","message":"GET /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b? 200 14ms","method":"GET","requestID":"5409e86f1457deed04921996f5f764fd","responseTime":14,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.097056,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio","level":"info","message":"auth send jwt"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c85593b8e8e41a0811b03f2c76678ce8","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"5b394330-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689071,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454067,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA2N30.BMAY-nIuB4jKoAu00G3MbLQbH54YP_Ix54JnHUWkRio"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c85593b8e8e41a0811b03f2c76678ce8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:25.605191572Z"}]},"request_id":"a32955b9-fc7a-4c3a-af7d-4587891a6232","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.9532337} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c85593b8e8e41a0811b03f2c76678ce8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"16f3e37f-2002-4257-ab28-8431715b5222","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.9543393} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d58253ee-cdcf-4ee3-8c7c-186ccda67894","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454067.9546673} 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":"5b394330-3d42-11ef-b841-3faa56dbb9da"},"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/Jul/2024:15:54:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e? 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":"c85593b8e8e41a0811b03f2c76678ce8"} device-1 | {"level":"info","message":"GET /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e? 200 12ms","method":"GET","requestID":"c85593b8e8e41a0811b03f2c76678ce8","responseTime":12,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e?"} 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/796b8bee-7fff-4ed9-98f5-2979c2548d26'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"5b394330-3d42-11ef-b841-3faa56dbb9da","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:28Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e1f8a10-703f-4358-b503-51411d7c23db","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454068.0033677} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.270696,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b426af0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling 200 9ms","method":"POST","requestID":"5b426af0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:28Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ef238d1-2fa4-4b7d-bc0b-61d00be23450","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454068.0155149} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.179313,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","rebac_allow":false,"scope_allow":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":"5b4418a0-3d42-11ef-b841-3faa56dbb9da"},"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/d42b22d2-8a29-491c-8815-ff68abd9fe0e/signaling 200 8ms","method":"POST","requestID":"5b4418a0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/signaling"} device-1 | {"data":{"peerconnection":"796b8bee-7fff-4ed9-98f5-2979c2548d26","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/796b8bee-7fff-4ed9-98f5-2979c2548d26' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"796b8bee-7fff-4ed9-98f5-2979c2548d26","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":"0afd20b6be96cda1b33c615af709cc5e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b"},{"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/d42b22d2-8a29-491c-8815-ff68abd9fe0e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"0afd20b6be96cda1b33c615af709cc5e","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"0afd20b6be96cda1b33c615af709cc5e"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e'"} device-1 | {"data":{"peerconnection":"796b8bee-7fff-4ed9-98f5-2979c2548d26","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"796b8bee-7fff-4ed9-98f5-2979c2548d26","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/796b8bee-7fff-4ed9-98f5-2979c2548d26' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"796b8bee-7fff-4ed9-98f5-2979c2548d26","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"21d8c393b35b4cb7d498bb779a0981e2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b"},{"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/d42b22d2-8a29-491c-8815-ff68abd9fe0e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F796b8bee-7fff-4ed9-98f5-2979c2548d26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e5b49b7-b061-4818-a76c-dd555c099eb0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.1188893} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.045211,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26","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":"5c84d600-3d42-11ef-b841-3faa56dbb9da"},"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/796b8bee-7fff-4ed9-98f5-2979c2548d26 200 12ms","method":"GET","requestID":"5c84d600-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"21d8c393b35b4cb7d498bb779a0981e2","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"21d8c393b35b4cb7d498bb779a0981e2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2282846-b3d9-4159-8cd1-2dd7aa78ec25","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.15251} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.271159,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c8a2d30-3d42-11ef-b841-3faa56dbb9da"},"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/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling 200 10ms","method":"POST","requestID":"5c8a2d30-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ee12089-a6f1-48c7-9432-2bd5f7166210","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.1648505} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.060979,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c8c2900-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/signaling 200 10ms","method":"POST","requestID":"5c8c2900-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"83f07c8de143bc1900d026d8d3157874","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.890752,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454070,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo"} 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":"83f07c8de143bc1900d026d8d3157874"},"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/dd3e9eb8-2468-4083-92a4-f24af4787d4f"} gateway-1 | {"time_local":"08/Jul/2024:15:54:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83f07c8de143bc1900d026d8d3157874"} experiment-1 | {"level":"info","message":"GET /experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f 200 13ms","method":"GET","requestID":"83f07c8de143bc1900d026d8d3157874","responseTime":13,"status":200,"url":"/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53a169b0a92c0f40bbadbe2e7a880d13","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.112129,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454070,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo"} 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":"53a169b0a92c0f40bbadbe2e7a880d13"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.210596,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454070,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo"} 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":"5c980fe0-3d42-11ef-b841-3faa56dbb9da"},"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/796b8bee-7fff-4ed9-98f5-2979c2548d26' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"796b8bee-7fff-4ed9-98f5-2979c2548d26","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":"e7b5b3df4635d0c72ea9454ef4e1cdae","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F796b8bee-7fff-4ed9-98f5-2979c2548d26': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F796b8bee-7fff-4ed9-98f5-2979c2548d26","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"627a80b4-775e-4561-99fd-f80f7c1e837b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.2590585} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"242a326f-ff11-419a-89db-db6abf5e92ef","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.2594118} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b"},{"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/d42b22d2-8a29-491c-8815-ff68abd9fe0e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"da322a09cd2640f30b66e955cdd02e66","responseTime":1,"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":"5c980fe0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/9cdc7986-c46a-4192-b28b-d14b9927ae9b"},{"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/d42b22d2-8a29-491c-8815-ff68abd9fe0e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"796b8bee-7fff-4ed9-98f5-2979c2548d26","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/796b8bee-7fff-4ed9-98f5-2979c2548d26 204 47ms","method":"DELETE","requestID":"5c980fe0-3d42-11ef-b841-3faa56dbb9da","responseTime":47,"status":204,"url":"/peerconnections/796b8bee-7fff-4ed9-98f5-2979c2548d26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cdc7986-c46a-4192-b28b-d14b9927ae9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e19787d5-3e8e-4db9-895c-0d6bf785c5ee","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.311283} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.535758,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b","object_type":"device","rebac_allow":false,"scope_allow":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":"5ca22200-3d42-11ef-b841-3faa56dbb9da"},"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/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling 200 14ms","method":"POST","requestID":"5ca22200-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdd3e9eb8-2468-4083-92a4-f24af4787d4f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdd3e9eb8-2468-4083-92a4-f24af4787d4f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"df2965e0-e4be-4a25-8a1d-7f23765e2dc8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.318489} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc42fd07-6cda-498b-b11e-48a5a88b1a5e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.3186803} 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":"53a169b0a92c0f40bbadbe2e7a880d13"},"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:57924","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd42b22d2-8a29-491c-8815-ff68abd9fe0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"117bc1fd-5adc-4eb1-91dc-16fff7584fe6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.325027} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.567786,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ca49300-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/signaling 200 10ms","method":"POST","requestID":"5ca49300-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"} gateway-1 | {"time_local":"08/Jul/2024:15:54:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53a169b0a92c0f40bbadbe2e7a880d13"} experiment-1 | {"level":"info","message":"DELETE /experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f 204 167ms","method":"DELETE","requestID":"53a169b0a92c0f40bbadbe2e7a880d13","responseTime":167,"status":204,"url":"/experiments/dd3e9eb8-2468-4083-92a4-f24af4787d4f"} gateway-1 | {"time_local":"08/Jul/2024:15:54:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3232","request_time":"4.241","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7de01945f2e0538eab8202d685295ce0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"e7b5b3df4635d0c72ea9454ef4e1cdae","responseTime":137,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"da322a09cd2640f30b66e955cdd02e66","responseTime":136,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e575e4799cee1f21d9ea0eba824b636c","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"e7b5b3df4635d0c72ea9454ef4e1cdae"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"da322a09cd2640f30b66e955cdd02e66"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:54:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2740","request_time":"2.734","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"534fa1ab4c47c5a95e15760869557fd2"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9cdc7986-c46a-4192-b28b-d14b9927ae9b' closed"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.960536,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454070,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo"} 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":"e575e4799cee1f21d9ea0eba824b636c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d42b22d2-8a29-491c-8815-ff68abd9fe0e' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3c34db58-5261-4aac-81c4-6c0f5053527a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.4249575} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e575e4799cee1f21d9ea0eba824b636c"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4246fed-d641-4761-978d-2dff64a7acb0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.4303503} 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":"e575e4799cee1f21d9ea0eba824b636c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"c98f44e2-586b-4cd6-b668-a924f3fb3f26","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.4454062} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ba6fa2d-049f-4820-b362-7ba3906c66f3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.4456882} 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":"e575e4799cee1f21d9ea0eba824b636c"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.445383716Z"}]},"request_id":"9ec31b75-9db0-4c92-b98b-1578ad8d64a4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.449866} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e575e4799cee1f21d9ea0eba824b636c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e575e4799cee1f21d9ea0eba824b636c"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"e575e4799cee1f21d9ea0eba824b636c","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6aae222c2407428adc23c8f37f1deb94","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.656572,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454070,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo"} 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":"6aae222c2407428adc23c8f37f1deb94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b69a3882-3214-442a-aad8-f336bb6aaa9c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.4759505} 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":"6aae222c2407428adc23c8f37f1deb94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c933a3e2-171e-43e8-9a7b-f7a941109137","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.4838428} 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":"6aae222c2407428adc23c8f37f1deb94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"5e89435b-97c1-4582-a8bb-bbeab6c401a4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.495332} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d229d46f-643d-4754-9a6d-367788227134","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.4955292} 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":"6aae222c2407428adc23c8f37f1deb94"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.495310572Z"}]},"request_id":"df445942-b970-4573-8c67-a89ebacb3c4a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.5000076} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6aae222c2407428adc23c8f37f1deb94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:30 +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":"6aae222c2407428adc23c8f37f1deb94"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"6aae222c2407428adc23c8f37f1deb94","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c5d21df635ddac136e8d83cf6fad5a0b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.088076,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454070,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MH0.s2jsvigq57aOPaD3_Wss0jGVcFhFads9XrRo1b76LEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5d21df635ddac136e8d83cf6fad5a0b"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.445383716Z"}]},"request_id":"6e5cf185-1010-401c-b980-ebec0c22a2d1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454070.996012} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5d21df635ddac136e8d83cf6fad5a0b"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fedd1cab-1a2a-4d86-b5e2-6cdae2f0e090","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454071.0033245} 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":"c5d21df635ddac136e8d83cf6fad5a0b"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.445383716Z"}]},"request_id":"17bb103f-2122-4bd9-ad54-dca50087e2c4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454071.017879} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5d21df635ddac136e8d83cf6fad5a0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/26546e31-da52-40a5-b39f-2c9418181f18 200 40ms","method":"PATCH","requestID":"c5d21df635ddac136e8d83cf6fad5a0b","responseTime":40,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18"} gateway-1 | {"time_local":"08/Jul/2024:15:54:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/26546e31-da52-40a5-b39f-2c9418181f18 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":"c5d21df635ddac136e8d83cf6fad5a0b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MX0.9ZR67rjbXNOsCtYvgFf5VBVTdo_IDqPcERyDGCZNDQg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1e68ae1050132431de101663319272a6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:31Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6371,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454071,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3MX0.9ZR67rjbXNOsCtYvgFf5VBVTdo_IDqPcERyDGCZNDQg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e68ae1050132431de101663319272a6"},"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/26546e31-da52-40a5-b39f-2c9418181f18/websocket 200 20ms","method":"POST","requestID":"1e68ae1050132431de101663319272a6","responseTime":20,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/26546e31-da52-40a5-b39f-2c9418181f18/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":"1e68ae1050132431de101663319272a6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18' 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":"eba8d81a1180f242abb5c3325c543884","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a74f6753-8040-434a-8420-311084ffc651/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":"eba8d81a1180f242abb5c3325c543884"} device-1 | {"level":"info","message":"OPTIONS /devices/a74f6753-8040-434a-8420-311084ffc651/websocket 200 2ms","method":"OPTIONS","requestID":"eba8d81a1180f242abb5c3325c543884","responseTime":2,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c6e87b32fae0261f6512d0765e7a45b7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.580986,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} 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":"c6e87b32fae0261f6512d0765e7a45b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/a74f6753-8040-434a-8420-311084ffc651/websocket 200 24ms","method":"POST","requestID":"c6e87b32fae0261f6512d0765e7a45b7","responseTime":24,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a74f6753-8040-434a-8420-311084ffc651/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":"c6e87b32fae0261f6512d0765e7a45b7"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f50d415ad213238c714dfe29a12340da","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19389,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f50d415ad213238c714dfe29a12340da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.445383716Z"}]},"request_id":"6a7a3b85-3d8a-4466-ab7d-83691b2b9808","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.6024022} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f50d415ad213238c714dfe29a12340da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26546e31-da52-40a5-b39f-2c9418181f18? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f50d415ad213238c714dfe29a12340da"} device-1 | {"level":"info","message":"GET /devices/26546e31-da52-40a5-b39f-2c9418181f18? 200 20ms","method":"GET","requestID":"f50d415ad213238c714dfe29a12340da","responseTime":20,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f0d235da9b293213eb99d118da43e9b7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165847,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0d235da9b293213eb99d118da43e9b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.495310572Z"}]},"request_id":"a5736a03-c371-4eef-bc87-1d44b4d74aff","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.6300862} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0d235da9b293213eb99d118da43e9b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a74f6753-8040-434a-8420-311084ffc651? 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":"f0d235da9b293213eb99d118da43e9b7"} device-1 | {"level":"info","message":"GET /devices/a74f6753-8040-434a-8420-311084ffc651? 200 16ms","method":"GET","requestID":"f0d235da9b293213eb99d118da43e9b7","responseTime":16,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c330f5b762dd762fc3a8b45ccdee3c82","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:57924","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.259317,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} 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":"c330f5b762dd762fc3a8b45ccdee3c82"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"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:57924","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133109,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e0e3520-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64549,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e0e8340-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.445383716Z"}]},"request_id":"93c16ea9-e71d-4427-abd4-d2904d41012d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.7018056} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e0e3520-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.495310572Z"}]},"request_id":"f28e3a48-d287-48c1-a136-e0516d821519","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.7032533} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e0e8340-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/26546e31-da52-40a5-b39f-2c9418181f18? 200 20ms","method":"GET","requestID":"5e0e3520-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a74f6753-8040-434a-8420-311084ffc651? 200 19ms","method":"GET","requestID":"5e0e8340-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"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/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.396502,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} 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":"5e1ab840-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.49968,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} 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":"5e1b0660-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7589cb2-a43c-4770-9f9c-075deda77cad","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.7872815} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.161483,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","rebac_allow":false,"scope_allow":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":"5e1b7b90-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.445383716Z"}]},"request_id":"0a6df870-5094-4668-a722-ee0ae5c2afd8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.7908125} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/26546e31-da52-40a5-b39f-2c9418181f18/signaling 200 19ms","method":"POST","requestID":"5e1b7b90-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e1ab840-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.495310572Z"}]},"request_id":"e883f471-3cb7-401a-aae5-fcf6231bd3c5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.7953799} 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":"5e1b0660-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3e90bcc-4bb9-4c2b-a69a-c617465201f0#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3e90bcc-4bb9-4c2b-a69a-c617465201f0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"02b02e0a-3005-4a4a-bb6c-23e96de17235","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.802572} 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7844816f-dfd1-46f2-9e3e-618e3e8bc8c5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.8029754} 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":"c330f5b762dd762fc3a8b45ccdee3c82"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/26546e31-da52-40a5-b39f-2c9418181f18? 200 36ms","method":"GET","requestID":"5e1ab840-3d42-11ef-b841-3faa56dbb9da","responseTime":36,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} device-1 | {"level":"info","message":"GET /devices/a74f6753-8040-434a-8420-311084ffc651? 200 35ms","method":"GET","requestID":"5e1b0660-3d42-11ef-b841-3faa56dbb9da","responseTime":35,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af954f64-c1d6-4ac9-b1fb-bf6101ca2efa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.8114417} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.166804,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","rebac_allow":false,"scope_allow":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":"5e1f4c20-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a74f6753-8040-434a-8420-311084ffc651/signaling 200 20ms","method":"POST","requestID":"5e1f4c20-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651/signaling"} gateway-1 | {"time_local":"08/Jul/2024:15:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c330f5b762dd762fc3a8b45ccdee3c82"} experiment-1 | {"level":"info","message":"POST /experiments? 201 178ms","method":"POST","requestID":"c330f5b762dd762fc3a8b45ccdee3c82","responseTime":178,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efc35879-c142-4047-b894-aeb7b85ca57f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.8223279} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.857675,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","rebac_allow":false,"scope_allow":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":"5e2147f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/26546e31-da52-40a5-b39f-2c9418181f18/signaling 200 13ms","method":"POST","requestID":"5e2147f0-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d81bd51ab6175f8759d2a230faa15d3d","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:57924","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077254,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} 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":"d81bd51ab6175f8759d2a230faa15d3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b316686-22a3-405d-aa73-85c33dc9464f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.836637} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.680999,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","rebac_allow":false,"scope_allow":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":"5e2391e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.445383716Z"}]},"request_id":"ff71e60e-bb0d-44a0-af48-2b076ec05f8c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.8410587} 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":"d81bd51ab6175f8759d2a230faa15d3d"},"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/a74f6753-8040-434a-8420-311084ffc651/signaling 200 15ms","method":"POST","requestID":"5e2391e0-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"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":"ff3da733-8fcf-4b29-8ffa-a9f2baca48a7"},{"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":"7fdc2998-9501-44a1-a1da-d5f4480b32d4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"87bf58d8-0330-454e-ac58-3bb274284837"}]},"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/a74f6753-8040-434a-8420-311084ffc651"},{"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/26546e31-da52-40a5-b39f-2c9418181f18"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26546e31-da52-40a5-b39f-2c9418181f18? 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":"d81bd51ab6175f8759d2a230faa15d3d"} device-1 | {"level":"info","message":"GET /devices/26546e31-da52-40a5-b39f-2c9418181f18? 200 20ms","method":"GET","requestID":"d81bd51ab6175f8759d2a230faa15d3d","responseTime":20,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17e1ef57c4a8f80f211257a0f4f65302","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.800972,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} 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":"5e269f20-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.444242,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454072,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Mn0._hoQlxShMSE-LvBcG33is7H6Au97pLv4xH6ayEhIRwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17e1ef57c4a8f80f211257a0f4f65302"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:30.495310572Z"}]},"request_id":"af9e7ba7-285f-4604-af90-620511a20153","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.8685327} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17e1ef57c4a8f80f211257a0f4f65302"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"55ca5ca8-ff49-4466-bb42-cf9a620e0838","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.8698697} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eed8cbbf-c627-40db-bfb9-7c0b79aaf112","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.8701522} 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":"5e269f20-3d42-11ef-b841-3faa56dbb9da"},"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/Jul/2024:15:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a74f6753-8040-434a-8420-311084ffc651? 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":"17e1ef57c4a8f80f211257a0f4f65302"} device-1 | {"level":"info","message":"GET /devices/a74f6753-8040-434a-8420-311084ffc651? 200 17ms","method":"GET","requestID":"17e1ef57c4a8f80f211257a0f4f65302","responseTime":17,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651?"} 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/4a5300ef-d793-42e9-8767-dea2e2ed1ed0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"5e269f20-3d42-11ef-b841-3faa56dbb9da","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"738532e5-183d-455f-9064-034f7a1789a9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.9154627} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.596841,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","rebac_allow":false,"scope_allow":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":"5e2fc6e0-3d42-11ef-b841-3faa56dbb9da"},"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/26546e31-da52-40a5-b39f-2c9418181f18/signaling 200 9ms","method":"POST","requestID":"5e2fc6e0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d86f288-e4b3-4214-9bb1-579a1a31a84e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454072.9257598} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.670639,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e317490-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a74f6753-8040-434a-8420-311084ffc651/signaling 200 9ms","method":"POST","requestID":"5e317490-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651/signaling"} device-1 | {"data":{"peerconnection":"4a5300ef-d793-42e9-8767-dea2e2ed1ed0","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/4a5300ef-d793-42e9-8767-dea2e2ed1ed0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4a5300ef-d793-42e9-8767-dea2e2ed1ed0","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":"706917a9b226d0ba92086b27208abff5","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651"},{"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/26546e31-da52-40a5-b39f-2c9418181f18"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0"}}},"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/a74f6753-8040-434a-8420-311084ffc651'"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"706917a9b226d0ba92086b27208abff5","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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":"706917a9b226d0ba92086b27208abff5"} device-1 | {"data":{"peerconnection":"4a5300ef-d793-42e9-8767-dea2e2ed1ed0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"4a5300ef-d793-42e9-8767-dea2e2ed1ed0","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/4a5300ef-d793-42e9-8767-dea2e2ed1ed0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4a5300ef-d793-42e9-8767-dea2e2ed1ed0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"596e544f5457adf5c0e00a4a775a985e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651"},{"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/26546e31-da52-40a5-b39f-2c9418181f18"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4a5300ef-d793-42e9-8767-dea2e2ed1ed0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c419ffe-60c1-4fa6-ab88-66ae9ce24a79","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.0864851} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.935706,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f7abd70-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0 200 13ms","method":"GET","requestID":"5f7abd70-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"596e544f5457adf5c0e00a4a775a985e","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"596e544f5457adf5c0e00a4a775a985e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"984ba42b-6d70-4119-b370-cd468d96d679","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.1228352} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.828076,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","rebac_allow":false,"scope_allow":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":"5f803bb0-3d42-11ef-b841-3faa56dbb9da"},"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/a74f6753-8040-434a-8420-311084ffc651/signaling 200 15ms","method":"POST","requestID":"5f803bb0-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8227b91-325f-46e5-8734-39730f73677b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.1403327} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.45024,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f8321e0-3d42-11ef-b841-3faa56dbb9da"},"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/26546e31-da52-40a5-b39f-2c9418181f18/signaling 200 12ms","method":"POST","requestID":"5f8321e0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2a813816696f3c64746d74628ef74051","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.145085,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454075,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI"} 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":"2a813816696f3c64746d74628ef74051"},"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/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a813816696f3c64746d74628ef74051"} experiment-1 | {"level":"info","message":"GET /experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0 200 17ms","method":"GET","requestID":"2a813816696f3c64746d74628ef74051","responseTime":17,"status":200,"url":"/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7a2d72abf665e41ca8817bdd15e41259","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.163864,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454075,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI"} 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":"7a2d72abf665e41ca8817bdd15e41259"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.281074,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454075,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI"} 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":"5f8f7df0-3d42-11ef-b841-3faa56dbb9da"},"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/4a5300ef-d793-42e9-8767-dea2e2ed1ed0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4a5300ef-d793-42e9-8767-dea2e2ed1ed0","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":"646ec06a53b28b84f2de77f66afe6e32","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/a74f6753-8040-434a-8420-311084ffc651"},{"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/26546e31-da52-40a5-b39f-2c9418181f18"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0"}}},"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":"5b647471f37d0bae76fbab2fa66b24e8","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4a5300ef-d793-42e9-8767-dea2e2ed1ed0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4a5300ef-d793-42e9-8767-dea2e2ed1ed0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"1e9dc602-4675-45d2-ae1b-52c642e22aa1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.2447126} 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/a74f6753-8040-434a-8420-311084ffc651"},{"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/26546e31-da52-40a5-b39f-2c9418181f18"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0"}}},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66f092ec-e0a9-4abb-b786-323e16a8ff76","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.2454937} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f8f7df0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"4a5300ef-d793-42e9-8767-dea2e2ed1ed0","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/4a5300ef-d793-42e9-8767-dea2e2ed1ed0 204 49ms","method":"DELETE","requestID":"5f8f7df0-3d42-11ef-b841-3faa56dbb9da","responseTime":49,"status":204,"url":"/peerconnections/4a5300ef-d793-42e9-8767-dea2e2ed1ed0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa74f6753-8040-434a-8420-311084ffc651","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b35a6569-7cc8-4072-97bd-a323b71ae75c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.2963278} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.813607,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a74f6753-8040-434a-8420-311084ffc651","object_type":"device","rebac_allow":false,"scope_allow":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":"5f9ac890-3d42-11ef-b841-3faa56dbb9da"},"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/a74f6753-8040-434a-8420-311084ffc651/signaling 200 16ms","method":"POST","requestID":"5f9ac890-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/a74f6753-8040-434a-8420-311084ffc651/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3e90bcc-4bb9-4c2b-a69a-c617465201f0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3e90bcc-4bb9-4c2b-a69a-c617465201f0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"3b316f14-6f8d-46f4-a7cc-70f3915d09a0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.304904} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf32d43b-9936-4f08-9141-f68031bc5c68","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.306468} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a2d72abf665e41ca8817bdd15e41259"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26546e31-da52-40a5-b39f-2c9418181f18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a97a0888-5484-4b0b-b620-26daf1a76dab","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.3146973} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.038358,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26546e31-da52-40a5-b39f-2c9418181f18","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f9daec0-3d42-11ef-b841-3faa56dbb9da"},"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/26546e31-da52-40a5-b39f-2c9418181f18/signaling 200 13ms","method":"POST","requestID":"5f9daec0-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/26546e31-da52-40a5-b39f-2c9418181f18/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a2d72abf665e41ca8817bdd15e41259"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +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.331","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a5bafd0e7623d250d809b6243e255c0a"} experiment-1 | {"level":"info","message":"DELETE /experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0 204 181ms","method":"DELETE","requestID":"7a2d72abf665e41ca8817bdd15e41259","responseTime":181,"status":204,"url":"/experiments/a3e90bcc-4bb9-4c2b-a69a-c617465201f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"646ec06a53b28b84f2de77f66afe6e32","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"646ec06a53b28b84f2de77f66afe6e32"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"5b647471f37d0bae76fbab2fa66b24e8","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b647471f37d0bae76fbab2fa66b24e8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9e9d13e447ffcfa049ad29de4fc555ed","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +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.823","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d25546a90f69c6592a5fa7343770d755"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.827243,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454075,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI"} 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":"9e9d13e447ffcfa049ad29de4fc555ed"},"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/26546e31-da52-40a5-b39f-2c9418181f18' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fe655488-f799-4ab5-b5d5-7cda249c8d79","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.4113672} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e9d13e447ffcfa049ad29de4fc555ed"},"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/a74f6753-8040-434a-8420-311084ffc651' 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1004e274-912b-42ed-be41-c4d6169e0c30","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.4166057} 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":"9e9d13e447ffcfa049ad29de4fc555ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"fb8360b7-0afe-4bd3-9ef0-7c4dea40f505","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.4261205} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eac1a774-c668-45d0-9c8f-0281f90a3145","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.4263675} 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":"9e9d13e447ffcfa049ad29de4fc555ed"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.426094762Z"}]},"request_id":"30008fe3-23e0-447f-be81-f8757a8147f7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.4305596} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e9d13e447ffcfa049ad29de4fc555ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9e9d13e447ffcfa049ad29de4fc555ed"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"9e9d13e447ffcfa049ad29de4fc555ed","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"50b478f272234caa50aecb7870e633f8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.85299,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454075,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI"} 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":"50b478f272234caa50aecb7870e633f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6f11f708-1316-4800-afd5-c5bbf4744709","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.4616} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50b478f272234caa50aecb7870e633f8"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"faa5643b-b380-409f-a43b-4032881adf58","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.466252} 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":"50b478f272234caa50aecb7870e633f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"871b3214-f237-4a26-aed0-b9d351284336","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.4770355} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca430a64-7af6-4234-9cd2-396053bb6614","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.4772367} 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":"50b478f272234caa50aecb7870e633f8"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.477008889Z"}]},"request_id":"5dffd4e4-2813-43f8-9971-22f2a5395fa8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.4813812} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50b478f272234caa50aecb7870e633f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50b478f272234caa50aecb7870e633f8"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"50b478f272234caa50aecb7870e633f8","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8f6af828f56d06f5aeea231206b64b84","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9c7ce021db6002bfd44c19bc50422e34","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666732,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454075,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f6af828f56d06f5aeea231206b64b84"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63491,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454075,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c7ce021db6002bfd44c19bc50422e34"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.477008889Z"}]},"request_id":"604643bb-02cd-407f-b878-da004f60ac5f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.967814} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f6af828f56d06f5aeea231206b64b84"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.426094762Z"}]},"request_id":"d0bf7b18-6412-4509-a3e9-f95f63383f88","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.9689152} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c7ce021db6002bfd44c19bc50422e34"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c2ac663-feae-4592-a4e8-0e329b81a53b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.9734793} 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":"8f6af828f56d06f5aeea231206b64b84"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6031f9c-ef23-4aca-bc8b-906a142b5a84","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.97535} 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":"9c7ce021db6002bfd44c19bc50422e34"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.426094762Z"}]},"request_id":"e7d3a4f1-ac40-4bcc-91b6-7411ec99d635","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.9778647} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c7ce021db6002bfd44c19bc50422e34"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7 200 21ms","method":"PATCH","requestID":"9c7ce021db6002bfd44c19bc50422e34","responseTime":21,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9c7ce021db6002bfd44c19bc50422e34"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"886705f0ae321bc931b78910be426cad","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881839,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454075,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"886705f0ae321bc931b78910be426cad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.477008889Z"}]},"request_id":"4343487a-55fe-4a33-b2a4-d0bfce03c47c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454075.9893355} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f6af828f56d06f5aeea231206b64b84"},"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49 200 35ms","method":"PATCH","requestID":"8f6af828f56d06f5aeea231206b64b84","responseTime":35,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49"} gateway-1 | {"time_local":"08/Jul/2024:15:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8f6af828f56d06f5aeea231206b64b84"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"40d59310832c3c5b624b9e1dfbbf380a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703005,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454075,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3NX0.ZZcxyl71g1Sg3QjD-2hhWHFvieSKFZTBGfBqCTaGDtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40d59310832c3c5b624b9e1dfbbf380a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/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":"886705f0ae321bc931b78910be426cad"} device-1 | {"level":"info","message":"POST /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/websocket 200 20ms","method":"POST","requestID":"886705f0ae321bc931b78910be426cad","responseTime":20,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/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":"40d59310832c3c5b624b9e1dfbbf380a"} device-1 | {"level":"info","message":"POST /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/websocket 200 15ms","method":"POST","requestID":"40d59310832c3c5b624b9e1dfbbf380a","responseTime":15,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8f82e58affcddd91469a524a73cc9707","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.084827,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f82e58affcddd91469a524a73cc9707"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.426094762Z"}]},"request_id":"d2b63cfa-88e1-49f4-8e16-8fe2085e9275","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.051633} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f82e58affcddd91469a524a73cc9707"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7? 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":"8f82e58affcddd91469a524a73cc9707"} device-1 | {"level":"info","message":"GET /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7? 200 13ms","method":"GET","requestID":"8f82e58affcddd91469a524a73cc9707","responseTime":13,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe37a148a3ae9cdd63201cd315ef4a85","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.024403,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe37a148a3ae9cdd63201cd315ef4a85"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.477008889Z"}]},"request_id":"c608edcf-9a82-42cb-93f3-2fdee85c9b0c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.0717309} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe37a148a3ae9cdd63201cd315ef4a85"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49? 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":"fe37a148a3ae9cdd63201cd315ef4a85"} device-1 | {"level":"info","message":"GET /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49? 200 12ms","method":"GET","requestID":"fe37a148a3ae9cdd63201cd315ef4a85","responseTime":12,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d7bfdf044677d0d1a7f5255845bc4fb","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:57924","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.646933,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} 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":"9d7bfdf044677d0d1a7f5255845bc4fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"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:57924","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.25271,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"601a7fe0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146281,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} 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":"601af510-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.426094762Z"}]},"request_id":"1ce5c0f6-7fce-49ec-9bdd-0e867d6a1f00","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.1418283} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"601a7fe0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.477008889Z"}]},"request_id":"e10278e8-a845-4285-b45c-dfbb1dfec3b3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.1432397} 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":"601af510-3d42-11ef-b841-3faa56dbb9da"},"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/5b88cc14-9753-4afc-b15d-23bc832e69b7? 200 24ms","method":"GET","requestID":"601a7fe0-3d42-11ef-b841-3faa56dbb9da","responseTime":24,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49? 200 24ms","method":"GET","requestID":"601af510-3d42-11ef-b841-3faa56dbb9da","responseTime":24,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"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/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252456,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} 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":"60281470-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.257713,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} 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":"60286290-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.037678,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b6da7b8-9716-45f9-bf0c-d71bcdadbda8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.2319913} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","rebac_allow":false,"scope_allow":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":"6028d7c0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.426094762Z"}]},"request_id":"2fbf7087-427b-4d62-983a-e3c6ad2dac20","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.234724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.477008889Z"}]},"request_id":"bcecd78e-9b95-473c-b666-cf63ba057525","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.237208} 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":"60281470-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"level":"info","message":"POST /relations/query 200 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":"60286290-3d42-11ef-b841-3faa56dbb9da"},"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/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling 200 26ms","method":"POST","requestID":"6028d7c0-3d42-11ef-b841-3faa56dbb9da","responseTime":26,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7? 200 33ms","method":"GET","requestID":"60281470-3d42-11ef-b841-3faa56dbb9da","responseTime":33,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49? 200 35ms","method":"GET","requestID":"60286290-3d42-11ef-b841-3faa56dbb9da","responseTime":35,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19ab14a7-9ca9-4dd1-b63c-8d415f5efed1#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19ab14a7-9ca9-4dd1-b63c-8d415f5efed1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"0d756eb5-ebf1-4a21-ba9d-1d5a33774d4b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.2527485} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"342de13a-e6ee-43b2-bb17-581b2fdc115d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.2531948} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d7bfdf044677d0d1a7f5255845bc4fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ee54794-ab93-4e22-a50a-f9b8e7cafb45","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.2572145} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.188882,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","rebac_allow":false,"scope_allow":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":"602d4490-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"318a5159-dd0f-4cc2-98a6-7d42610e91e5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.2636058} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.823627,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/signaling 200 16ms","method":"POST","requestID":"602d4490-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/signaling"} 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":"602e5600-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d7bfdf044677d0d1a7f5255845bc4fb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 182ms","method":"POST","requestID":"9d7bfdf044677d0d1a7f5255845bc4fb","responseTime":182,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling 200 13ms","method":"POST","requestID":"602e5600-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d72e1156bf49c579fc3af95be651752e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13d1854a-81e2-48c3-bd9e-b0b51d614b68","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.2784047} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.00812,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d72e1156bf49c579fc3af95be651752e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.032089,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","rebac_allow":false,"scope_allow":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":"6030c700-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.426094762Z"}]},"request_id":"b72ed95a-957c-4d0f-9ede-dbd5dde6f11c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.2836528} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/signaling 200 12ms","method":"POST","requestID":"6030c700-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/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":"d72e1156bf49c579fc3af95be651752e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"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":"f1cd6fe0-4f12-4ed3-ac72-cc86270fbe08"},{"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":"aecb74c2-c217-41e9-8f0f-612b82b36226"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a8944605-1323-4143-9c07-b0ba8e79eff3"}]},"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/5b88cc14-9753-4afc-b15d-23bc832e69b7"},{"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7? 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":"d72e1156bf49c579fc3af95be651752e"} device-1 | {"level":"info","message":"GET /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7? 200 14ms","method":"GET","requestID":"d72e1156bf49c579fc3af95be651752e","responseTime":14,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.686577,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} 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":"603310f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3c999e94440ddfa7c0844864e76532d9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621376,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454076,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3Nn0.cKp6Y6JPfe20u8ys5c8H7sHc27z3cje4l6pKOff-7rA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c999e94440ddfa7c0844864e76532d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"6d822992-1a49-4414-9a1d-9a0a3cc5f338","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.3023193} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"527229f5-53ce-40ba-969b-7f3b4d5075ee","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.3024929} 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":"603310f0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:35.477008889Z"}]},"request_id":"a2e1f6ac-6129-4aa9-8f2b-c3cf2f49f8c9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.303409} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c999e94440ddfa7c0844864e76532d9"},"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49? 200 22ms","method":"GET","requestID":"3c999e94440ddfa7c0844864e76532d9","responseTime":22,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c999e94440ddfa7c0844864e76532d9"} 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/291284f4-a58e-4251-80cf-7b54eb83bcc8'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"603310f0-3d42-11ef-b841-3faa56dbb9da","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b77cb7ea-e664-4fe3-8cd7-dd80d960c031","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.3548744} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.338797,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"603c86d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling 200 10ms","method":"POST","requestID":"603c86d0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6b26124-8127-4029-867a-a4bde7943a35","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454076.3674} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.37534,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"603e82a0-3d42-11ef-b841-3faa56dbb9da"},"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/signaling 200 11ms","method":"POST","requestID":"603e82a0-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/signaling"} device-1 | {"data":{"peerconnection":"291284f4-a58e-4251-80cf-7b54eb83bcc8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"291284f4-a58e-4251-80cf-7b54eb83bcc8","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/291284f4-a58e-4251-80cf-7b54eb83bcc8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"291284f4-a58e-4251-80cf-7b54eb83bcc8","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":"a5b9fc59dd35a852e539e9e53d3747be","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/5b88cc14-9753-4afc-b15d-23bc832e69b7"},{"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"a5b9fc59dd35a852e539e9e53d3747be","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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":"a5b9fc59dd35a852e539e9e53d3747be"} device-1 | {"data":{"peerconnection":"291284f4-a58e-4251-80cf-7b54eb83bcc8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"291284f4-a58e-4251-80cf-7b54eb83bcc8","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/291284f4-a58e-4251-80cf-7b54eb83bcc8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"291284f4-a58e-4251-80cf-7b54eb83bcc8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c68513359227319715bb8b8f1786a08c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7"},{"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F291284f4-a58e-4251-80cf-7b54eb83bcc8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d70f456a-21e7-4dab-8805-c3c8189e6935","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.465641} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.506796,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"617e55a0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8 200 14ms","method":"GET","requestID":"617e55a0-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"c68513359227319715bb8b8f1786a08c","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"c68513359227319715bb8b8f1786a08c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67674055-607a-4eef-a2f5-87805f273eca","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.5033233} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.043244,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","rebac_allow":false,"scope_allow":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":"61842200-3d42-11ef-b841-3faa56dbb9da"},"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/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling 200 14ms","method":"POST","requestID":"61842200-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fdb0448-749c-4525-824d-6dd8f45749ae","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.5200768} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.306988,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","rebac_allow":false,"scope_allow":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":"6186ba10-3d42-11ef-b841-3faa56dbb9da"},"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/signaling 200 14ms","method":"POST","requestID":"6186ba10-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OH0.imUouuVaZLgQEtlXWs6qPGI4_NyEg3s6L0kmWvsW0LY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"fe957f62138d8b918c8fb4d882df4d4f","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.241304,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454078,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OH0.imUouuVaZLgQEtlXWs6qPGI4_NyEg3s6L0kmWvsW0LY"} 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":"fe957f62138d8b918c8fb4d882df4d4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"} gateway-1 | {"time_local":"08/Jul/2024:15:54:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe957f62138d8b918c8fb4d882df4d4f"} experiment-1 | {"level":"info","message":"GET /experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1 200 19ms","method":"GET","requestID":"fe957f62138d8b918c8fb4d882df4d4f","responseTime":19,"status":200,"url":"/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OH0.imUouuVaZLgQEtlXWs6qPGI4_NyEg3s6L0kmWvsW0LY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"27f53ba16d15ef277f345290ae69140b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.164839,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454078,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OH0.imUouuVaZLgQEtlXWs6qPGI4_NyEg3s6L0kmWvsW0LY"} 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":"27f53ba16d15ef277f345290ae69140b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.261324,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454078,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OH0.imUouuVaZLgQEtlXWs6qPGI4_NyEg3s6L0kmWvsW0LY"} 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":"6190f340-3d42-11ef-b841-3faa56dbb9da"},"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/291284f4-a58e-4251-80cf-7b54eb83bcc8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"291284f4-a58e-4251-80cf-7b54eb83bcc8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F291284f4-a58e-4251-80cf-7b54eb83bcc8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F291284f4-a58e-4251-80cf-7b54eb83bcc8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"ec21267b-9d1c-4769-b9ed-c6fbe8d92dcb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.6053088} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"327accae4b85f24d3d0047e0bbf5be53","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc4da57f-33ac-44c8-a986-a1cfb83526d2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.6061132} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7"},{"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6190f340-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d74f0922a1a7db7d006b957ef5c10eee","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7"},{"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"291284f4-a58e-4251-80cf-7b54eb83bcc8","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/291284f4-a58e-4251-80cf-7b54eb83bcc8 204 48ms","method":"DELETE","requestID":"6190f340-3d42-11ef-b841-3faa56dbb9da","responseTime":48,"status":204,"url":"/peerconnections/291284f4-a58e-4251-80cf-7b54eb83bcc8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b88cc14-9753-4afc-b15d-23bc832e69b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"109f8aea-f4a1-4f8f-a47b-6ce4a974c61a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.6650329} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.900874,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7","object_type":"device","rebac_allow":false,"scope_allow":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":"619cb310-3d42-11ef-b841-3faa56dbb9da"},"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/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling 200 14ms","method":"POST","requestID":"619cb310-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19ab14a7-9ca9-4dd1-b63c-8d415f5efed1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19ab14a7-9ca9-4dd1-b63c-8d415f5efed1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"aaad1206-6436-432f-a2f3-60654a1848a3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.6742518} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34ef5902-be7f-4bf2-89ef-d75c2c5a6380","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.6745145} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27f53ba16d15ef277f345290ae69140b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c2cb53e-b63b-40df-9b90-7b42c08d7f49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d67e6b3f-c825-4324-9d00-826b0a6054ef","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.6833055} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.835958,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49","object_type":"device","rebac_allow":false,"scope_allow":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":"619f7230-3d42-11ef-b841-3faa56dbb9da"},"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/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/signaling 200 14ms","method":"POST","requestID":"619f7230-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"} gateway-1 | {"time_local":"08/Jul/2024:15:54:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27f53ba16d15ef277f345290ae69140b"} gateway-1 | {"time_local":"08/Jul/2024:15:54:38 +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.738","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9e1c92bc02d285b07d12e1773c331df1"} experiment-1 | {"level":"info","message":"DELETE /experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1 204 181ms","method":"DELETE","requestID":"27f53ba16d15ef277f345290ae69140b","responseTime":181,"status":204,"url":"/experiments/19ab14a7-9ca9-4dd1-b63c-8d415f5efed1"} gateway-1 | {"time_local":"08/Jul/2024:15:54:38 +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.731","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4bef2babde166d8d65ea31488f990d38"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2c2cb53e-b63b-40df-9b90-7b42c08d7f49' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"327accae4b85f24d3d0047e0bbf5be53","responseTime":143,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OH0.imUouuVaZLgQEtlXWs6qPGI4_NyEg3s6L0kmWvsW0LY","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"327accae4b85f24d3d0047e0bbf5be53"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"46009dd4e4e5a8bcdfb85e5681f6c1b7","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"d74f0922a1a7db7d006b957ef5c10eee","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"d74f0922a1a7db7d006b957ef5c10eee"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.139028,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5b88cc14-9753-4afc-b15d-23bc832e69b7' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454078,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OH0.imUouuVaZLgQEtlXWs6qPGI4_NyEg3s6L0kmWvsW0LY"} 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":"46009dd4e4e5a8bcdfb85e5681f6c1b7"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ce1a723f-f662-452e-99dc-b8fce44a069f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.7736557} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46009dd4e4e5a8bcdfb85e5681f6c1b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b960f13-358d-48fe-b6b7-6502f7308d87","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.7791274} 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":"46009dd4e4e5a8bcdfb85e5681f6c1b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"d1ae61fd-f4bc-4fa2-86b6-25b5cd0ca822","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.7894769} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f9d6e3a-5854-4a3c-8a16-ce89dad5d706","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.7897692} 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":"46009dd4e4e5a8bcdfb85e5681f6c1b7"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.789443898Z"}]},"request_id":"ef30c02c-be03-4fde-a998-a81e46dbe26f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.794862} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46009dd4e4e5a8bcdfb85e5681f6c1b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46009dd4e4e5a8bcdfb85e5681f6c1b7"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"46009dd4e4e5a8bcdfb85e5681f6c1b7","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OH0.imUouuVaZLgQEtlXWs6qPGI4_NyEg3s6L0kmWvsW0LY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9fec457efb0657babf9d53c2acfed349","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.825629,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454078,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OH0.imUouuVaZLgQEtlXWs6qPGI4_NyEg3s6L0kmWvsW0LY"} 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":"9fec457efb0657babf9d53c2acfed349"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"895551b5-50aa-4df6-a5f2-e0dee37b4950","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.8209412} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fec457efb0657babf9d53c2acfed349"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d48df3e-a655-4ce6-9171-1ae6c822da78","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.8262155} 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":"9fec457efb0657babf9d53c2acfed349"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"ce724fdc-4d64-43fc-a72f-5b14ce4e2ec3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.8424923} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39e3b597-75c8-4395-b836-95ec85f982a3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.842745} 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":"9fec457efb0657babf9d53c2acfed349"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.842459304Z"}]},"request_id":"ad8bde1e-b724-4017-aa11-36bcebe8d4c8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454078.847649} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fec457efb0657babf9d53c2acfed349"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fec457efb0657babf9d53c2acfed349"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"9fec457efb0657babf9d53c2acfed349","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ab92e56fcd588fabb42ecb51d36abedd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"788ac0eebe1fb4a87ad9cee7efd0ebf3","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686901,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} 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":"ab92e56fcd588fabb42ecb51d36abedd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894621,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"788ac0eebe1fb4a87ad9cee7efd0ebf3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.789443898Z"}]},"request_id":"828ebe53-6c3d-471b-a3cf-ee4ad152c718","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.332222} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab92e56fcd588fabb42ecb51d36abedd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.842459304Z"}]},"request_id":"b19a3739-46b2-4c0b-b511-d41d7020b012","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.3332589} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"788ac0eebe1fb4a87ad9cee7efd0ebf3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6d9061c-432b-430f-b0fb-3b2fc80ce42d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.3373163} 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":"ab92e56fcd588fabb42ecb51d36abedd"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0b9bfbf-d624-4ca0-895f-aa3f1d7add91","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.3382738} 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":"788ac0eebe1fb4a87ad9cee7efd0ebf3"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.842459304Z"}]},"request_id":"3c7368f8-cbc0-494c-92d6-72fc6bf9f9ad","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.3413312} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"788ac0eebe1fb4a87ad9cee7efd0ebf3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9 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":"788ac0eebe1fb4a87ad9cee7efd0ebf3"} device-1 | {"level":"info","message":"PATCH /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9 200 20ms","method":"PATCH","requestID":"788ac0eebe1fb4a87ad9cee7efd0ebf3","responseTime":20,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"81c69fa583c92b7d3ce4249d31a7f858","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.789443898Z"}]},"request_id":"9114939c-35a8-4922-ad2b-896153b77b75","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.3510344} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab92e56fcd588fabb42ecb51d36abedd"},"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:57924","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.444931,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} gateway-1 | {"time_local":"08/Jul/2024:15:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7 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":"ab92e56fcd588fabb42ecb51d36abedd"} device-1 | {"level":"info","message":"PATCH /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7 200 33ms","method":"PATCH","requestID":"ab92e56fcd588fabb42ecb51d36abedd","responseTime":33,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81c69fa583c92b7d3ce4249d31a7f858"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5155e164b25fb602963e7768b31da756","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661826,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5155e164b25fb602963e7768b31da756"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"81c69fa583c92b7d3ce4249d31a7f858"} device-1 | {"level":"info","message":"POST /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/websocket 200 17ms","method":"POST","requestID":"81c69fa583c92b7d3ce4249d31a7f858","responseTime":17,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5155e164b25fb602963e7768b31da756"} device-1 | {"level":"info","message":"POST /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/websocket 200 19ms","method":"POST","requestID":"5155e164b25fb602963e7768b31da756","responseTime":19,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42de0f08e56e2cdb976a65a74aaf487d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130363,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42de0f08e56e2cdb976a65a74aaf487d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.789443898Z"}]},"request_id":"b9566698-2957-47db-b88f-130bd8cdcfa5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.4136717} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42de0f08e56e2cdb976a65a74aaf487d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7? 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":"42de0f08e56e2cdb976a65a74aaf487d"} device-1 | {"level":"info","message":"GET /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7? 200 11ms","method":"GET","requestID":"42de0f08e56e2cdb976a65a74aaf487d","responseTime":11,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"55c7ea039ff5b836682d553f191409e2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893559,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55c7ea039ff5b836682d553f191409e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.842459304Z"}]},"request_id":"b9839876-e7c8-44a0-8017-18c8859d8793","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.4314399} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55c7ea039ff5b836682d553f191409e2"},"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/b3350d50-36cb-4e88-aac2-75008bdf07c9? 200 11ms","method":"GET","requestID":"55c7ea039ff5b836682d553f191409e2","responseTime":11,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9? 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":"55c7ea039ff5b836682d553f191409e2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b94d0d626372462a526761316b7a891","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:57924","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.189384,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b94d0d626372462a526761316b7a891"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"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:57924","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166361,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6219f960-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146565,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"621a4780-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.789443898Z"}]},"request_id":"7377138e-93b0-434a-bce7-1e8b745c18a2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.4907832} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6219f960-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.842459304Z"}]},"request_id":"5948a96d-b1d0-4df6-b295-3f244081ed60","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.4918628} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"621a4780-3d42-11ef-b841-3faa56dbb9da"},"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/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7? 200 19ms","method":"GET","requestID":"6219f960-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9? 200 19ms","method":"GET","requestID":"621a4780-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"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:57924","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.620365,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133833,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} 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":"62236f40-3d42-11ef-b841-3faa56dbb9da"},"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/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} 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":"6223bd60-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.789443898Z"}]},"request_id":"a66166de-80c1-4e7c-b470-432f1c873b1b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.5547292} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.842459304Z"}]},"request_id":"058c4c29-6815-4e7a-84dd-bb4e3734a251","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.5558395} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"62236f40-3d42-11ef-b841-3faa56dbb9da"},"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":"6223bd60-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"688d0574-35cc-4517-877d-2d205b3e291d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.5579126} authorization-1 | {"client_addr":"127.0.0.1:50352","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:50352","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.461519,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"62240b80-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7? 200 26ms","method":"GET","requestID":"62236f40-3d42-11ef-b841-3faa56dbb9da","responseTime":26,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9? 200 25ms","method":"GET","requestID":"6223bd60-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling 200 23ms","method":"POST","requestID":"62240b80-3d42-11ef-b841-3faa56dbb9da","responseTime":23,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffbb8d5a9-cfe9-4ce6-8320-d5502eed742d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffbb8d5a9-cfe9-4ce6-8320-d5502eed742d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"a5bda0ab-b8c2-4c5a-84db-d78d8b09f9b8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.569371} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad5de0be-fdd3-48b8-aff0-f53d6dd031ed","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.5695317} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b94d0d626372462a526761316b7a891"},"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:57924","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fe9b6e3-b06c-415b-b2c7-ea1d44f4bf09","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.57434} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.155666,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6227dc10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"307a31d0-bbee-4a13-8bb8-86b95c5bc6f8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.576926} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.294982,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 138ms","method":"POST","requestID":"7b94d0d626372462a526761316b7a891","responseTime":138,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b94d0d626372462a526761316b7a891"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"62280320-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling 200 12ms","method":"POST","requestID":"6227dc10-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/signaling 200 12ms","method":"POST","requestID":"62280320-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6a1aae264581554bccd6a015d0b72dbc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36694","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925721,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a1aae264581554bccd6a015d0b72dbc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7e1e674-700d-4dde-94a8-717127c0916d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.5873623} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.275294,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6229fef0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.789443898Z"}]},"request_id":"bc6060bb-4057-491d-81f0-9099243dc16a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.5918856} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/signaling 200 9ms","method":"POST","requestID":"6229fef0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/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":"6a1aae264581554bccd6a015d0b72dbc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"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":"416b94e9-7c68-4081-8f7e-077d478c95fb"},{"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":"e3fc3ba2-c6ee-4d79-ad91-3dc7e66f55b2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"64564251-66eb-47db-9b0f-b29e8a518314"}]},"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/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7"},{"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/b3350d50-36cb-4e88-aac2-75008bdf07c9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7? 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":"6a1aae264581554bccd6a015d0b72dbc"} device-1 | {"level":"info","message":"GET /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7? 200 12ms","method":"GET","requestID":"6a1aae264581554bccd6a015d0b72dbc","responseTime":12,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.736834,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} 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":"622baca0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c959d6468b84f89e1d2f915fa6c0204a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"cf4bf9d4-39b1-4c17-b96b-094834b09741","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.6074073} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f6609ba-53ee-44a4-a805-887ff35448a5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.6076207} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934946,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} 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":"622baca0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454079,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA3OX0.ZIqAMl1I_FkNF7a9PbucbJFpD9lkv7Poo2bvNIGQuSA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c959d6468b84f89e1d2f915fa6c0204a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:38.842459304Z"}]},"request_id":"0487852a-6617-4a61-83f7-124be45c9c25","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.61393} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c959d6468b84f89e1d2f915fa6c0204a"},"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/597da4d6-5040-419f-bab9-03f30d02b74e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"622baca0-3d42-11ef-b841-3faa56dbb9da","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9? 200 21ms","method":"GET","requestID":"c959d6468b84f89e1d2f915fa6c0204a","responseTime":21,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3350d50-36cb-4e88-aac2-75008bdf07c9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c959d6468b84f89e1d2f915fa6c0204a"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2271b2fc-7906-4dfa-b7dd-1d99b7df41db","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.6539419} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283779,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"62341110-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling 200 9ms","method":"POST","requestID":"62341110-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ddc0692-4835-4350-a2a2-2c87fbac1f45","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454079.6643577} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.562691,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","rebac_allow":false,"scope_allow":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":"6235bec0-3d42-11ef-b841-3faa56dbb9da"},"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/b3350d50-36cb-4e88-aac2-75008bdf07c9/signaling 200 8ms","method":"POST","requestID":"6235bec0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/signaling"} device-1 | {"data":{"peerconnection":"597da4d6-5040-419f-bab9-03f30d02b74e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"597da4d6-5040-419f-bab9-03f30d02b74e","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/597da4d6-5040-419f-bab9-03f30d02b74e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"597da4d6-5040-419f-bab9-03f30d02b74e","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":"2a24a5de5842a7a4a0b779a0fb95c2d4","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/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7"},{"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/b3350d50-36cb-4e88-aac2-75008bdf07c9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"2a24a5de5842a7a4a0b779a0fb95c2d4","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"2a24a5de5842a7a4a0b779a0fb95c2d4"} device-1 | {"data":{"peerconnection":"597da4d6-5040-419f-bab9-03f30d02b74e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"597da4d6-5040-419f-bab9-03f30d02b74e","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/597da4d6-5040-419f-bab9-03f30d02b74e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"597da4d6-5040-419f-bab9-03f30d02b74e","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":"661fa2ab3a59a8418094779f9f5fe897","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/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7"},{"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/b3350d50-36cb-4e88-aac2-75008bdf07c9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F597da4d6-5040-419f-bab9-03f30d02b74e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43fd9b38-ecbe-4cb7-8e3f-268c73535f73","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454081.7472122} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.415351,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e","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":"63736ee0-3d42-11ef-b841-3faa56dbb9da"},"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/597da4d6-5040-419f-bab9-03f30d02b74e 200 9ms","method":"GET","requestID":"63736ee0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"661fa2ab3a59a8418094779f9f5fe897","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"661fa2ab3a59a8418094779f9f5fe897"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c8f3fe7-1a49-4295-aef9-2f13bb3639e1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454081.7817185} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.175466,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"637877f0-3d42-11ef-b841-3faa56dbb9da"},"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/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling 200 11ms","method":"POST","requestID":"637877f0-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3937fde-2eb2-464b-b24c-c16f9a09094d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454081.794265} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.881015,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"637a73c0-3d42-11ef-b841-3faa56dbb9da"},"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/b3350d50-36cb-4e88-aac2-75008bdf07c9/signaling 200 13ms","method":"POST","requestID":"637a73c0-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4MX0.skz-VR4SJqy2OE12dMgeEGtbPeI4XpO3eFD-W9eDie4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6b60ea4178df0cdaeae0786e463ab0bd","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.378132,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454081,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4MX0.skz-VR4SJqy2OE12dMgeEGtbPeI4XpO3eFD-W9eDie4"} 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":"6b60ea4178df0cdaeae0786e463ab0bd"},"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/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"} gateway-1 | {"time_local":"08/Jul/2024:15:54:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b60ea4178df0cdaeae0786e463ab0bd"} experiment-1 | {"level":"info","message":"GET /experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d 200 16ms","method":"GET","requestID":"6b60ea4178df0cdaeae0786e463ab0bd","responseTime":16,"status":200,"url":"/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4MX0.skz-VR4SJqy2OE12dMgeEGtbPeI4XpO3eFD-W9eDie4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"475be8800bb85cc671e7e644863b015e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.148123,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454081,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4MX0.skz-VR4SJqy2OE12dMgeEGtbPeI4XpO3eFD-W9eDie4"} 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":"475be8800bb85cc671e7e644863b015e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.165862,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454081,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4MX0.skz-VR4SJqy2OE12dMgeEGtbPeI4XpO3eFD-W9eDie4"} 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":"63876c10-3d42-11ef-b841-3faa56dbb9da"},"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/597da4d6-5040-419f-bab9-03f30d02b74e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"597da4d6-5040-419f-bab9-03f30d02b74e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F597da4d6-5040-419f-bab9-03f30d02b74e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F597da4d6-5040-419f-bab9-03f30d02b74e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"66e4a8fc-4e0c-4571-be40-96674f9f643a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454081.8959994} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1c38570-2de9-48d6-a938-8e5c3baa27b2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454081.896511} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7a54e39fe4e5f8005cecf2a55b597e6e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7"},{"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/b3350d50-36cb-4e88-aac2-75008bdf07c9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e"}}},"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":"63876c10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2f71308506d63ca7d63f5d3ff73645dc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7"},{"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/b3350d50-36cb-4e88-aac2-75008bdf07c9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"597da4d6-5040-419f-bab9-03f30d02b74e","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/597da4d6-5040-419f-bab9-03f30d02b74e 204 46ms","method":"DELETE","requestID":"63876c10-3d42-11ef-b841-3faa56dbb9da","responseTime":46,"status":204,"url":"/peerconnections/597da4d6-5040-419f-bab9-03f30d02b74e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eadee3ee-d333-4942-9c82-fb9ce9b92e30","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454081.948699} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.561509,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7","object_type":"device","rebac_allow":false,"scope_allow":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":"6391cc50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffbb8d5a9-cfe9-4ce6-8320-d5502eed742d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffbb8d5a9-cfe9-4ce6-8320-d5502eed742d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"dccf99c3-b75d-40a8-beca-75f8b92f51e5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454081.9549778} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b00678d8-ff7c-4512-a2ce-b452f8722180","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454081.9553044} device-1 | {"level":"info","message":"POST /devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling 200 15ms","method":"POST","requestID":"6391cc50-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"475be8800bb85cc671e7e644863b015e"},"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:57924","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3350d50-36cb-4e88-aac2-75008bdf07c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"382c65f6-4ece-49a1-9c3c-ae62ada60b5c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454081.9644396} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.665471,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9","object_type":"device","rebac_allow":false,"scope_allow":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":"63946460-3d42-11ef-b841-3faa56dbb9da"},"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/b3350d50-36cb-4e88-aac2-75008bdf07c9/signaling 200 13ms","method":"POST","requestID":"63946460-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/b3350d50-36cb-4e88-aac2-75008bdf07c9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"} gateway-1 | {"time_local":"08/Jul/2024:15:54:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"475be8800bb85cc671e7e644863b015e"} experiment-1 | {"level":"info","message":"DELETE /experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d 204 161ms","method":"DELETE","requestID":"475be8800bb85cc671e7e644863b015e","responseTime":161,"status":204,"url":"/experiments/fbb8d5a9-cfe9-4ce6-8320-d5502eed742d"} gateway-1 | {"time_local":"08/Jul/2024:15:54:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.639","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"11e39a464adad029cde87bddd8143c9c"} gateway-1 | {"time_local":"08/Jul/2024:15:54:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.651","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"15e332996046ef18366d675f3cfe0f4d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"7a54e39fe4e5f8005cecf2a55b597e6e","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"7a54e39fe4e5f8005cecf2a55b597e6e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"2f71308506d63ca7d63f5d3ff73645dc","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"2f71308506d63ca7d63f5d3ff73645dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Mn0.T9yLfyu71_w-WM-CDwPF587j-nlPyt2a-U4hQdkDfPc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8df273a2bc8887a2c671bcc51ca38c43","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/3fc9ca37-a8c3-45ca-b0bb-b48253208cb7' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.77051,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454082,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Mn0.T9yLfyu71_w-WM-CDwPF587j-nlPyt2a-U4hQdkDfPc"} 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":"8df273a2bc8887a2c671bcc51ca38c43"},"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/b3350d50-36cb-4e88-aac2-75008bdf07c9' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0aa538b8-f558-40a6-8097-1212d8f5d1a4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.0531664} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8df273a2bc8887a2c671bcc51ca38c43"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"898f5d4c-9562-4540-9745-f4a88925a37f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.0585654} 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":"8df273a2bc8887a2c671bcc51ca38c43"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"5d6575ce-e28f-4e2d-9e65-ab65c03960a8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.0677342} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23f878f0-a3ed-42af-83cd-f6e6f52ec9b9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.0678167} 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":"8df273a2bc8887a2c671bcc51ca38c43"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.067703618Z"}]},"request_id":"a02d5787-1a90-4784-b95a-eea2fc5824cd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.0718925} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8df273a2bc8887a2c671bcc51ca38c43"},"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":"8df273a2bc8887a2c671bcc51ca38c43","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:42 +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":"8df273a2bc8887a2c671bcc51ca38c43"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Mn0.T9yLfyu71_w-WM-CDwPF587j-nlPyt2a-U4hQdkDfPc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d2ab330c23be09aa722dd456b62c533a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.922397,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454082,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Mn0.T9yLfyu71_w-WM-CDwPF587j-nlPyt2a-U4hQdkDfPc"} 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":"d2ab330c23be09aa722dd456b62c533a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d1f9cb28-67fc-471d-a493-cd80d20392b9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.0963383} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2ab330c23be09aa722dd456b62c533a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7c697fc-caa7-44bf-8778-bd0cf390b9ca","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.1015007} 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":"d2ab330c23be09aa722dd456b62c533a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"1ed58beb-ce5a-462d-a0dd-0879c4ec4837","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.117271} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48ccfcf9-b92a-47f7-be6c-9cb78ecebeeb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.1174119} 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":"d2ab330c23be09aa722dd456b62c533a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.117239678Z"}]},"request_id":"69e924f3-6d42-444d-998d-675e800038e9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454082.1219013} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2ab330c23be09aa722dd456b62c533a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:42 +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":"d2ab330c23be09aa722dd456b62c533a"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"d2ab330c23be09aa722dd456b62c533a","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a3de5531fe244b0840a349eb39c0ff29","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cdc775e4-c589-488c-979f-ee10d958495b/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":"a3de5531fe244b0840a349eb39c0ff29"} device-1 | {"level":"info","message":"OPTIONS /devices/cdc775e4-c589-488c-979f-ee10d958495b/websocket 200 1ms","method":"OPTIONS","requestID":"a3de5531fe244b0840a349eb39c0ff29","responseTime":1,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"55354d1de1ddf5c9ee126ac7f332bd5e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.314247,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55354d1de1ddf5c9ee126ac7f332bd5e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d582390b6ea573bcb30721292eee61c7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cdc775e4-c589-488c-979f-ee10d958495b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"55354d1de1ddf5c9ee126ac7f332bd5e"} device-1 | {"level":"info","message":"POST /devices/cdc775e4-c589-488c-979f-ee10d958495b/websocket 200 21ms","method":"POST","requestID":"55354d1de1ddf5c9ee126ac7f332bd5e","responseTime":21,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5aacd474-134d-41da-a444-3713a9328374/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d582390b6ea573bcb30721292eee61c7"} device-1 | {"level":"info","message":"OPTIONS /devices/5aacd474-134d-41da-a444-3713a9328374/websocket 200 1ms","method":"OPTIONS","requestID":"d582390b6ea573bcb30721292eee61c7","responseTime":1,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"912fa1fc60560a6e7011110f66f0113f","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133296,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"912fa1fc60560a6e7011110f66f0113f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"device 'http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5aacd474-134d-41da-a444-3713a9328374/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":"912fa1fc60560a6e7011110f66f0113f"} device-1 | {"level":"info","message":"POST /devices/5aacd474-134d-41da-a444-3713a9328374/websocket 200 27ms","method":"POST","requestID":"912fa1fc60560a6e7011110f66f0113f","responseTime":27,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"22e42906781a31140be7cd0138326229","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.255503,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22e42906781a31140be7cd0138326229"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.067703618Z"}]},"request_id":"00253600-f09e-438c-a820-ce49c9b2558a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.177254} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22e42906781a31140be7cd0138326229"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/cdc775e4-c589-488c-979f-ee10d958495b? 200 18ms","method":"GET","requestID":"22e42906781a31140be7cd0138326229","responseTime":18,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cdc775e4-c589-488c-979f-ee10d958495b? 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":"22e42906781a31140be7cd0138326229"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"03cfc6cfe3d97b79d2542496db26c772","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.855191,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03cfc6cfe3d97b79d2542496db26c772"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.117239678Z"}]},"request_id":"5f0affcb-b6c6-4902-97c9-b3bfb5ed16bd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.2040703} 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":"03cfc6cfe3d97b79d2542496db26c772"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5aacd474-134d-41da-a444-3713a9328374? 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":"03cfc6cfe3d97b79d2542496db26c772"} device-1 | {"level":"info","message":"GET /devices/5aacd474-134d-41da-a444-3713a9328374? 200 24ms","method":"GET","requestID":"03cfc6cfe3d97b79d2542496db26c772","responseTime":24,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8a2a8b01e3ddca4040feed5c04d5cf28","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:57924","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.313001,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a2a8b01e3ddca4040feed5c04d5cf28"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"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:57924","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699153,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64f4b7b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141854,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} 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":"64f505d0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.067703618Z"}]},"request_id":"92dc0c1d-8b44-46e0-a5ad-714f6a05aa39","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.2778797} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64f4b7b0-3d42-11ef-b841-3faa56dbb9da"},"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 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.117239678Z"}]},"request_id":"1e809f9b-ea71-46e6-8c10-adc4e31f4f7e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.2809656} device-1 | {"level":"info","message":"GET /devices/cdc775e4-c589-488c-979f-ee10d958495b? 200 14ms","method":"GET","requestID":"64f4b7b0-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64f505d0-3d42-11ef-b841-3faa56dbb9da"},"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/5aacd474-134d-41da-a444-3713a9328374? 200 15ms","method":"GET","requestID":"64f505d0-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"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/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.98616,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64fef0e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771107,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64ff3f00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50786","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.117239678Z"}]},"request_id":"b320c29d-7224-44bf-9db0-f2db110e39fb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.3455226} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c1d6e8e-304c-42d9-878d-2819f7ed1ff9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.3457184} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64ff3f00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.067703618Z"}]},"request_id":"c1440766-f2b9-4e1e-8021-709035bb2f05","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.3462749} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64fef0e0-3d42-11ef-b841-3faa56dbb9da"},"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:50786","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.165674,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","rebac_allow":false,"scope_allow":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":"64ff6610-3d42-11ef-b841-3faa56dbb9da"},"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/5aacd474-134d-41da-a444-3713a9328374? 200 17ms","method":"GET","requestID":"64ff3f00-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/cdc775e4-c589-488c-979f-ee10d958495b? 200 20ms","method":"GET","requestID":"64fef0e0-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cdc775e4-c589-488c-979f-ee10d958495b/signaling 200 19ms","method":"POST","requestID":"64ff6610-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5b74b20-3a99-44cd-9f4c-4b6b4e792df4#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5b74b20-3a99-44cd-9f4c-4b6b4e792df4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"5e32429a-7df2-4542-9c46-c503b8b28890","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.3582006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ea9c113-7098-4ef3-9fd5-a947678f3b11","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.3583946} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a2a8b01e3ddca4040feed5c04d5cf28"},"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:57924","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fdc7c7d7-444e-42a5-ba99-daa15d1dedd6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.3628535} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.11288,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65027350-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"481995a7-66fa-42b1-bb5f-e2fc2392e47d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.365439} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.817882,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6502c170-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cdc775e4-c589-488c-979f-ee10d958495b/signaling 200 12ms","method":"POST","requestID":"65027350-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 146ms","method":"POST","requestID":"8a2a8b01e3ddca4040feed5c04d5cf28","responseTime":146,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a2a8b01e3ddca4040feed5c04d5cf28"} device-1 | {"level":"info","message":"POST /devices/5aacd474-134d-41da-a444-3713a9328374/signaling 200 12ms","method":"POST","requestID":"6502c170-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1460e3a047b0cd46b7daee2d16741a1f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"537f262c-e889-4ce8-a814-fd16646169c2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.3774192} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.266442,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6504bd40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756665,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1460e3a047b0cd46b7daee2d16741a1f"},"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/5aacd474-134d-41da-a444-3713a9328374/signaling 200 10ms","method":"POST","requestID":"6504bd40-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.067703618Z"}]},"request_id":"02ac5a03-bb69-4139-bdc2-3f6d113466a6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.3835528} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"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":"ec18113d-6ba1-4a3a-8feb-7955089ab51f"},{"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":"23118e7d-fce2-4477-8cac-3bb159fd14e0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"add1a6a3-a970-4a30-8576-1db40a85ca95"}]},"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/cdc775e4-c589-488c-979f-ee10d958495b"},{"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/5aacd474-134d-41da-a444-3713a9328374"}],"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":"1460e3a047b0cd46b7daee2d16741a1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cdc775e4-c589-488c-979f-ee10d958495b? 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":"1460e3a047b0cd46b7daee2d16741a1f"} device-1 | {"level":"info","message":"GET /devices/cdc775e4-c589-488c-979f-ee10d958495b? 200 13ms","method":"GET","requestID":"1460e3a047b0cd46b7daee2d16741a1f","responseTime":13,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.910002,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} 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":"6506e020-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b1cb2c2e4d20042b63bfd1f127afa42","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934935,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b1cb2c2e4d20042b63bfd1f127afa42"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"224bd363-7f10-4fd4-ba1e-40c30ae0bc46","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.401987} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c811af57-77d9-4ef0-9f5d-41bea998af29","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.4022448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:42.117239678Z"}]},"request_id":"9405018f-39a1-48f5-83f8-1b00d9b42a59","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.4027627} 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":"6506e020-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b1cb2c2e4d20042b63bfd1f127afa42"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5aacd474-134d-41da-a444-3713a9328374? 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":"0b1cb2c2e4d20042b63bfd1f127afa42"} device-1 | {"level":"info","message":"GET /devices/5aacd474-134d-41da-a444-3713a9328374? 200 14ms","method":"GET","requestID":"0b1cb2c2e4d20042b63bfd1f127afa42","responseTime":14,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374?"} 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/15b6cbeb-d445-4bd9-a838-cbe849271e19'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19'"} 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":"6506e020-3d42-11ef-b841-3faa56dbb9da","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/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30524ffc-730b-4c9a-8348-740e99b5eeab","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.4540086} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.715206,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65107d10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cdc775e4-c589-488c-979f-ee10d958495b/signaling 200 9ms","method":"POST","requestID":"65107d10-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b472288-0f01-4b61-9719-60f8ab4083ae","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.464455} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.563271,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65122ac0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5aacd474-134d-41da-a444-3713a9328374/signaling 200 8ms","method":"POST","requestID":"65122ac0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"15b6cbeb-d445-4bd9-a838-cbe849271e19","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":"d9b12fc2ad106675a8190d8b2401f2fd","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b"},{"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/5aacd474-134d-41da-a444-3713a9328374"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"d9b12fc2ad106675a8190d8b2401f2fd","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"d9b12fc2ad106675a8190d8b2401f2fd"} device-1 | {"data":{"peerconnection":"15b6cbeb-d445-4bd9-a838-cbe849271e19","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"15b6cbeb-d445-4bd9-a838-cbe849271e19","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/15b6cbeb-d445-4bd9-a838-cbe849271e19' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"15b6cbeb-d445-4bd9-a838-cbe849271e19","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":"e258aaa45db75d82123f31b82c6aa757","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/cdc775e4-c589-488c-979f-ee10d958495b"},{"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/5aacd474-134d-41da-a444-3713a9328374"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F15b6cbeb-d445-4bd9-a838-cbe849271e19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"888a2f46-c714-42c6-b193-2e7350fb1ac8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.5363257} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.136922,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19","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":"651d2740-3d42-11ef-b841-3faa56dbb9da"},"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/15b6cbeb-d445-4bd9-a838-cbe849271e19 200 7ms","method":"GET","requestID":"651d2740-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"e258aaa45db75d82123f31b82c6aa757","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"e258aaa45db75d82123f31b82c6aa757"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6655a084-0ea0-4d8b-a0d7-50aee48017b6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.565499} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.116546,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","rebac_allow":false,"scope_allow":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":"65216d00-3d42-11ef-b841-3faa56dbb9da"},"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/cdc775e4-c589-488c-979f-ee10d958495b/signaling 200 9ms","method":"POST","requestID":"65216d00-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d16f1b6f-84d6-48fb-870d-eed4371f51c1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.5747283} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.028112,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","rebac_allow":false,"scope_allow":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":"65231ab0-3d42-11ef-b841-3faa56dbb9da"},"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/5aacd474-134d-41da-a444-3713a9328374/signaling 200 7ms","method":"POST","requestID":"65231ab0-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b1a1baa3e0d9b7a830783ed805cf378","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.676166,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} 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":"2b1a1baa3e0d9b7a830783ed805cf378"},"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/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"} experiment-1 | {"level":"info","message":"GET /experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4 200 9ms","method":"GET","requestID":"2b1a1baa3e0d9b7a830783ed805cf378","responseTime":9,"status":200,"url":"/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4 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":"2b1a1baa3e0d9b7a830783ed805cf378"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ffa6c45f185a6c796c9745455fcb2220","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.146438,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} 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":"ffa6c45f185a6c796c9745455fcb2220"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.635199,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} 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":"652d7af0-3d42-11ef-b841-3faa56dbb9da"},"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/15b6cbeb-d445-4bd9-a838-cbe849271e19' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"15b6cbeb-d445-4bd9-a838-cbe849271e19","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F15b6cbeb-d445-4bd9-a838-cbe849271e19': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F15b6cbeb-d445-4bd9-a838-cbe849271e19","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"4c51aa81-65b1-4055-873a-a333f98b0837","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.659033} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8d96e68-5881-47ac-a65a-0f2173c38b92","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.6592093} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"652d7af0-3d42-11ef-b841-3faa56dbb9da"},"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":"0fa1578b421a44d16d2067c8c31bc46e","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/cdc775e4-c589-488c-979f-ee10d958495b"},{"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/5aacd474-134d-41da-a444-3713a9328374"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19"}}},"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":"a22338284b135436c9786b4c125eb585","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b"},{"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/5aacd474-134d-41da-a444-3713a9328374"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"15b6cbeb-d445-4bd9-a838-cbe849271e19","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/15b6cbeb-d445-4bd9-a838-cbe849271e19 204 39ms","method":"DELETE","requestID":"652d7af0-3d42-11ef-b841-3faa56dbb9da","responseTime":39,"status":204,"url":"/peerconnections/15b6cbeb-d445-4bd9-a838-cbe849271e19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdc775e4-c589-488c-979f-ee10d958495b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f721d1e-587c-4057-aa0b-77884c9e860c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.6991653} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.352538,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b","object_type":"device","rebac_allow":false,"scope_allow":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":"65360670-3d42-11ef-b841-3faa56dbb9da"},"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/cdc775e4-c589-488c-979f-ee10d958495b/signaling 200 8ms","method":"POST","requestID":"65360670-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/cdc775e4-c589-488c-979f-ee10d958495b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5aacd474-134d-41da-a444-3713a9328374","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b20b4548-1f0a-4a3e-b69e-0767fa1b61a7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.7102108} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.009707,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374","object_type":"device","rebac_allow":false,"scope_allow":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":"6537b420-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5b74b20-3a99-44cd-9f4c-4b6b4e792df4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5b74b20-3a99-44cd-9f4c-4b6b4e792df4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"6fd01aba-8ee5-4c7b-879a-702beb8c1782","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.713509} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"047c0507-54c6-4e4b-9c95-2302832c4b7b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.713709} device-1 | {"level":"info","message":"POST /devices/5aacd474-134d-41da-a444-3713a9328374/signaling 200 8ms","method":"POST","requestID":"6537b420-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/5aacd474-134d-41da-a444-3713a9328374/signaling"} 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":"ffa6c45f185a6c796c9745455fcb2220"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4 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":"ffa6c45f185a6c796c9745455fcb2220"} experiment-1 | {"level":"info","message":"DELETE /experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4 204 138ms","method":"DELETE","requestID":"ffa6c45f185a6c796c9745455fcb2220","responseTime":138,"status":204,"url":"/experiments/c5b74b20-3a99-44cd-9f4c-4b6b4e792df4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"0fa1578b421a44d16d2067c8c31bc46e","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.109","http_referrer":"","http_user_agent":"node-fetch","requestID":"0fa1578b421a44d16d2067c8c31bc46e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 106ms","method":"POST","requestID":"a22338284b135436c9786b4c125eb585","responseTime":106,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"a22338284b135436c9786b4c125eb585"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"601714c39b816f4c1f19ec6ac2c1bc42","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.883762,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} 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":"601714c39b816f4c1f19ec6ac2c1bc42"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +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.637","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"555805d82a5809858cd7d56547190c17"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +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.675","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bc1dd062b99265c03dc1cb1b5fcfd46c"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5aacd474-134d-41da-a444-3713a9328374' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cdc775e4-c589-488c-979f-ee10d958495b' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c7ad8496-3d52-409f-884c-a2618425bc20","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.7921999} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"601714c39b816f4c1f19ec6ac2c1bc42"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1687fea2-3c22-4a49-86ba-7b0c3a5048f8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.7967324} 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":"601714c39b816f4c1f19ec6ac2c1bc42"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"75374704-6cf9-45bc-9a14-bafdb7d34d62","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.8055997} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f54bf1fb-fa51-40fe-b2e3-56fcc18d221c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.8058343} 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":"601714c39b816f4c1f19ec6ac2c1bc42"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.805564617Z"}]},"request_id":"b36c0f83-6de4-4c38-9d0a-5d0cdca89dfe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.8093967} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"601714c39b816f4c1f19ec6ac2c1bc42"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"601714c39b816f4c1f19ec6ac2c1bc42"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"601714c39b816f4c1f19ec6ac2c1bc42","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e549b9e0c7019c5de821117532384a29","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.79858,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454084,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4NH0.jCY1ZmTwnfjNf7yPd4Ag_RuZD2eQ1GCh_65E-s8Ob00"} 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":"e549b9e0c7019c5de821117532384a29"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cac90790-08c1-4969-948e-9153a3da066f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.836257} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e549b9e0c7019c5de821117532384a29"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa10d4c3-550d-4d53-a3b8-77e35e53a529","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.8398285} 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":"e549b9e0c7019c5de821117532384a29"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"17635ed6-6555-4716-acf2-a29dc9b7a44b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.8508165} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4784e459-df42-408b-acde-ac22e629ba9d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.8510811} 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":"e549b9e0c7019c5de821117532384a29"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.850789742Z"}]},"request_id":"82e36c2f-a954-4adc-83e1-c1749d31875d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454084.854292} 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":"e549b9e0c7019c5de821117532384a29"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"e549b9e0c7019c5de821117532384a29","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e549b9e0c7019c5de821117532384a29"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"196b6eae85241ce6f93bd0123856829b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b4c6ae05-4221-4ad4-951f-957b681e8236/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":"196b6eae85241ce6f93bd0123856829b"} device-1 | {"level":"info","message":"OPTIONS /devices/b4c6ae05-4221-4ad4-951f-957b681e8236/websocket 200 1ms","method":"OPTIONS","requestID":"196b6eae85241ce6f93bd0123856829b","responseTime":1,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"63ae833897a8fe19bd563f24f07619de","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67542,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63ae833897a8fe19bd563f24f07619de"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7efa23dfa797c762995b607a2dd57e12","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b4c6ae05-4221-4ad4-951f-957b681e8236/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"63ae833897a8fe19bd563f24f07619de"} device-1 | {"level":"info","message":"POST /devices/b4c6ae05-4221-4ad4-951f-957b681e8236/websocket 200 21ms","method":"POST","requestID":"63ae833897a8fe19bd563f24f07619de","responseTime":21,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ceada25e-424d-4f90-a7ff-eedb03da6066/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7efa23dfa797c762995b607a2dd57e12"} device-1 | {"level":"info","message":"OPTIONS /devices/ceada25e-424d-4f90-a7ff-eedb03da6066/websocket 200 1ms","method":"OPTIONS","requestID":"7efa23dfa797c762995b607a2dd57e12","responseTime":1,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6aff90f726594843852becd751a09df6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.995555,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6aff90f726594843852becd751a09df6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ceada25e-424d-4f90-a7ff-eedb03da6066/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":"6aff90f726594843852becd751a09df6"} device-1 | {"level":"info","message":"POST /devices/ceada25e-424d-4f90-a7ff-eedb03da6066/websocket 200 26ms","method":"POST","requestID":"6aff90f726594843852becd751a09df6","responseTime":26,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0d1e7224663063a2f3f766f4e0be35a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838403,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0d1e7224663063a2f3f766f4e0be35a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.805564617Z"}]},"request_id":"810c13b4-4a7b-411c-b64e-f47f9faed1b6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454086.9108355} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0d1e7224663063a2f3f766f4e0be35a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4c6ae05-4221-4ad4-951f-957b681e8236? 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":"a0d1e7224663063a2f3f766f4e0be35a"} device-1 | {"level":"info","message":"GET /devices/b4c6ae05-4221-4ad4-951f-957b681e8236? 200 16ms","method":"GET","requestID":"a0d1e7224663063a2f3f766f4e0be35a","responseTime":16,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bd34706d2874dc62b6bb97192ff26cdf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.276552,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd34706d2874dc62b6bb97192ff26cdf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.850789742Z"}]},"request_id":"d749a88b-a707-42d3-8812-fd7e49b3cd5c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454086.9379175} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd34706d2874dc62b6bb97192ff26cdf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ceada25e-424d-4f90-a7ff-eedb03da6066? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd34706d2874dc62b6bb97192ff26cdf"} device-1 | {"level":"info","message":"GET /devices/ceada25e-424d-4f90-a7ff-eedb03da6066? 200 17ms","method":"GET","requestID":"bd34706d2874dc62b6bb97192ff26cdf","responseTime":17,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0fe4d7d2f7e19a9b17c3d86dc5ccbc21","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:57924","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.125746,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} 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":"0fe4d7d2f7e19a9b17c3d86dc5ccbc21"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"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:57924","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:46Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887785,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6694fa30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.500165,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66956f60-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.805564617Z"}]},"request_id":"98c5fae5-0b4e-4c3d-81a4-e0ff2dfa1286","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.007805} 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":"6694fa30-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.850789742Z"}]},"request_id":"5b7a6ac7-2edf-4b68-8bc4-9e1384e13056","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.009984} 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":"66956f60-3d42-11ef-b841-3faa56dbb9da"},"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/b4c6ae05-4221-4ad4-951f-957b681e8236? 200 25ms","method":"GET","requestID":"6694fa30-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ceada25e-424d-4f90-a7ff-eedb03da6066? 200 24ms","method":"GET","requestID":"66956f60-3d42-11ef-b841-3faa56dbb9da","responseTime":24,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"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/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756705,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} 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":"66a12f30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.090539,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50786","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} 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":"66a17d50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:50786","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.044906,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"044a266e-1ce7-4183-a6be-c1017045f36d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.0876582} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","rebac_allow":false,"scope_allow":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":"66a1cb70-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.805564617Z"}]},"request_id":"907e8280-546a-40a4-8532-0a999fcafa50","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.0931385} 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":"66a12f30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"POST /devices/b4c6ae05-4221-4ad4-951f-957b681e8236/signaling 200 17ms","method":"POST","requestID":"66a1cb70-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.850789742Z"}]},"request_id":"ddc76315-b7fb-4b3a-a384-ffdfd4b55b2a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.095749} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66a17d50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} device-1 | {"level":"info","message":"GET /devices/b4c6ae05-4221-4ad4-951f-957b681e8236? 200 30ms","method":"GET","requestID":"66a12f30-3d42-11ef-b841-3faa56dbb9da","responseTime":30,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ceada25e-424d-4f90-a7ff-eedb03da6066? 200 29ms","method":"GET","requestID":"66a17d50-3d42-11ef-b841-3faa56dbb9da","responseTime":29,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ddb4f30-4d42-4990-a53b-8d70a1bfd345","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.107813} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.432712,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","rebac_allow":false,"scope_allow":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":"66a526d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd99a0186-a0a2-46c5-8edd-aac189537e3f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd99a0186-a0a2-46c5-8edd-aac189537e3f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"9c2e3b21-0a08-4efb-b119-cf9ea2955ec6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.1101077} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0db84500-5023-42af-be50-545c35db1cca","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.1106086} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ceada25e-424d-4f90-a7ff-eedb03da6066/signaling 200 13ms","method":"POST","requestID":"66a526d0-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fe4d7d2f7e19a9b17c3d86dc5ccbc21"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75021f7c-5479-468b-8317-e8af5c7c5200","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.118259} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.88075,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","rebac_allow":false,"scope_allow":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":"66a65f50-3d42-11ef-b841-3faa56dbb9da"},"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/b4c6ae05-4221-4ad4-951f-957b681e8236/signaling 200 14ms","method":"POST","requestID":"66a65f50-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fe4d7d2f7e19a9b17c3d86dc5ccbc21"} experiment-1 | {"level":"info","message":"POST /experiments? 201 173ms","method":"POST","requestID":"0fe4d7d2f7e19a9b17c3d86dc5ccbc21","responseTime":173,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"43aeab73b409e8af4f08e10d51a13f91","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b951fbfb-f1db-4185-8622-75323f8f21de","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.1334636} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.820917,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","rebac_allow":false,"scope_allow":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":"66a91e70-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.087585,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454087,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43aeab73b409e8af4f08e10d51a13f91"},"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/ceada25e-424d-4f90-a7ff-eedb03da6066/signaling 200 15ms","method":"POST","requestID":"66a91e70-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.805564617Z"}]},"request_id":"2de375cd-4093-45f5-957f-d73fb67710ab","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.142568} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"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":"90e8ff6a-0af2-48fd-869d-c33cbc36be8e"},{"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":"cd8ef010-64fe-46a0-81f8-b9d1b0824064"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"df296999-1687-4cfc-afa7-975d43272545"}]},"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/b4c6ae05-4221-4ad4-951f-957b681e8236"},{"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/ceada25e-424d-4f90-a7ff-eedb03da6066"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43aeab73b409e8af4f08e10d51a13f91"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4c6ae05-4221-4ad4-951f-957b681e8236? 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":"43aeab73b409e8af4f08e10d51a13f91"} device-1 | {"level":"info","message":"GET /devices/b4c6ae05-4221-4ad4-951f-957b681e8236? 200 17ms","method":"GET","requestID":"43aeab73b409e8af4f08e10d51a13f91","responseTime":17,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.052845,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454086,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4Nn0.fg26RwCl5glVhbu5JWulsKpBfMkdxY7l4cxDowZhNZY"} 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":"66ac04a0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d022565ae50d4965da0007ecd106621b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644482,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454087,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU"} 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":"d022565ae50d4965da0007ecd106621b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"21f1aa03-7e7a-445c-944b-637557eb9975","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.159486} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a453de07-2702-40b5-82fd-3b3930cabedd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.1598728} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66ac04a0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:44.850789742Z"}]},"request_id":"e7ced6e0-00e4-4549-be2d-230dff66f374","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.171023} 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":"d022565ae50d4965da0007ecd106621b"},"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/0bb9518d-5e5a-44d2-bb35-8683ed921867'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867'"} 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":"66ac04a0-3d42-11ef-b841-3faa56dbb9da","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ceada25e-424d-4f90-a7ff-eedb03da6066? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d022565ae50d4965da0007ecd106621b"} device-1 | {"level":"info","message":"GET /devices/ceada25e-424d-4f90-a7ff-eedb03da6066? 200 31ms","method":"GET","requestID":"d022565ae50d4965da0007ecd106621b","responseTime":31,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d292f284-7775-4599-b0e6-281ac7a0c9af","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.215103} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.679185,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66b5c8a0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b4c6ae05-4221-4ad4-951f-957b681e8236/signaling 200 8ms","method":"POST","requestID":"66b5c8a0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a87c1e2-35b6-44c5-86cb-c54664d55845","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.224094} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.056962,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","rebac_allow":false,"scope_allow":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":"66b74f40-3d42-11ef-b841-3faa56dbb9da"},"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/ceada25e-424d-4f90-a7ff-eedb03da6066/signaling 200 7ms","method":"POST","requestID":"66b74f40-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0bb9518d-5e5a-44d2-bb35-8683ed921867","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":"2ece311158a1638fbe60a73f71fed5b8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236"},{"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/ceada25e-424d-4f90-a7ff-eedb03da6066"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"2ece311158a1638fbe60a73f71fed5b8","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"2ece311158a1638fbe60a73f71fed5b8"} device-1 | {"data":{"peerconnection":"0bb9518d-5e5a-44d2-bb35-8683ed921867","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0bb9518d-5e5a-44d2-bb35-8683ed921867","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/0bb9518d-5e5a-44d2-bb35-8683ed921867' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0bb9518d-5e5a-44d2-bb35-8683ed921867","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":"189ed6e5e4f293af0797519938bf0c02","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/b4c6ae05-4221-4ad4-951f-957b681e8236"},{"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/ceada25e-424d-4f90-a7ff-eedb03da6066"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0bb9518d-5e5a-44d2-bb35-8683ed921867","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c3dd85b-e4c0-49c9-b6c6-36a909174846","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.3013747} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.260739,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867","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":"66c30f10-3d42-11ef-b841-3faa56dbb9da"},"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/0bb9518d-5e5a-44d2-bb35-8683ed921867 200 8ms","method":"GET","requestID":"66c30f10-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"189ed6e5e4f293af0797519938bf0c02","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"189ed6e5e4f293af0797519938bf0c02"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97c23364-f60d-488b-9756-a18d80f4165a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.3285463} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.048992,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","rebac_allow":false,"scope_allow":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":"66c72dc0-3d42-11ef-b841-3faa56dbb9da"},"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/b4c6ae05-4221-4ad4-951f-957b681e8236/signaling 200 7ms","method":"POST","requestID":"66c72dc0-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"993a8c65-5ba2-4bbf-a180-6968f9a79204","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.3372662} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.131651,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","rebac_allow":false,"scope_allow":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":"66c88d50-3d42-11ef-b841-3faa56dbb9da"},"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/ceada25e-424d-4f90-a7ff-eedb03da6066/signaling 200 7ms","method":"POST","requestID":"66c88d50-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a3877310c3a256e4a3ee1b2653a7b1e4","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.673693,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454087,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU"} 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":"a3877310c3a256e4a3ee1b2653a7b1e4"},"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/d99a0186-a0a2-46c5-8edd-aac189537e3f"} experiment-1 | {"level":"info","message":"GET /experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f 200 10ms","method":"GET","requestID":"a3877310c3a256e4a3ee1b2653a7b1e4","responseTime":10,"status":200,"url":"/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3877310c3a256e4a3ee1b2653a7b1e4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3047e1258f41015683fd285ad688b84","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.385226,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454087,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU"} 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":"d3047e1258f41015683fd285ad688b84"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.477101,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454087,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU"} 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":"66d47430-3d42-11ef-b841-3faa56dbb9da"},"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/0bb9518d-5e5a-44d2-bb35-8683ed921867' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0bb9518d-5e5a-44d2-bb35-8683ed921867","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":"e19012c5ac3b20fbf0866a9ce2e76e89","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0bb9518d-5e5a-44d2-bb35-8683ed921867': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0bb9518d-5e5a-44d2-bb35-8683ed921867","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"5488d242-692d-46cf-832f-bf9fe23ff092","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.4277837} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5abaf50-6ef6-45ad-949a-8b0ef4d1189a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.4281545} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ebe40bc5359778fb55f19de25d303d15","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/b4c6ae05-4221-4ad4-951f-957b681e8236"},{"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/ceada25e-424d-4f90-a7ff-eedb03da6066"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236"},{"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/ceada25e-424d-4f90-a7ff-eedb03da6066"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867"}}},"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":"66d47430-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"data":{"peerconnection":"0bb9518d-5e5a-44d2-bb35-8683ed921867","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/0bb9518d-5e5a-44d2-bb35-8683ed921867 204 34ms","method":"DELETE","requestID":"66d47430-3d42-11ef-b841-3faa56dbb9da","responseTime":34,"status":204,"url":"/peerconnections/0bb9518d-5e5a-44d2-bb35-8683ed921867"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4c6ae05-4221-4ad4-951f-957b681e8236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c6b76b4-01fd-4b88-883d-357ddaad8863","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.4720914} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.424569,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4c6ae05-4221-4ad4-951f-957b681e8236","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66dcd8a0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b4c6ae05-4221-4ad4-951f-957b681e8236/signaling 200 10ms","method":"POST","requestID":"66dcd8a0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/b4c6ae05-4221-4ad4-951f-957b681e8236/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd99a0186-a0a2-46c5-8edd-aac189537e3f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd99a0186-a0a2-46c5-8edd-aac189537e3f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"37c0eb77-e101-4f7e-aa3a-f81d667351e8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.4776506} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee8e6182-64d8-41fa-bb74-ed2b466df3ea","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.4778895} 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":"d3047e1258f41015683fd285ad688b84"},"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:57924","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceada25e-424d-4f90-a7ff-eedb03da6066","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0ab3781-ff8d-45ee-a3c1-78f811892e1b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.482772} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.737784,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66de8650-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ceada25e-424d-4f90-a7ff-eedb03da6066/signaling 200 10ms","method":"POST","requestID":"66de8650-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/ceada25e-424d-4f90-a7ff-eedb03da6066/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3047e1258f41015683fd285ad688b84"} experiment-1 | {"level":"info","message":"DELETE /experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f 204 151ms","method":"DELETE","requestID":"d3047e1258f41015683fd285ad688b84","responseTime":151,"status":204,"url":"/experiments/d99a0186-a0a2-46c5-8edd-aac189537e3f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"e19012c5ac3b20fbf0866a9ce2e76e89","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"e19012c5ac3b20fbf0866a9ce2e76e89"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"ebe40bc5359778fb55f19de25d303d15","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"ebe40bc5359778fb55f19de25d303d15"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c209a207b61e0edb2ff7531a069330b8","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +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.683","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fa60499ce682245522d15838cedbb6ec"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.990683,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.720","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"561d68480f30023875e37e6ec5589c5c"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454087,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU"} 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":"c209a207b61e0edb2ff7531a069330b8"},"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/b4c6ae05-4221-4ad4-951f-957b681e8236' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ceada25e-424d-4f90-a7ff-eedb03da6066' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bcabdb6e-7aa4-4925-8467-fff0583a1290","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.587499} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c209a207b61e0edb2ff7531a069330b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91705694-8c47-42b0-994f-3a73bfc70060","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.5915165} 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":"c209a207b61e0edb2ff7531a069330b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"f1043337-6952-4eca-ae23-fa2c7b637a0a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.603018} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b740a37-5098-4ff1-a04c-fa3f9d2b63ac","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.6031032} 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":"c209a207b61e0edb2ff7531a069330b8"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.602980871Z"}]},"request_id":"f929835f-28a6-4f32-ad10-eb680e4f6895","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.6074116} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c209a207b61e0edb2ff7531a069330b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c209a207b61e0edb2ff7531a069330b8"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"c209a207b61e0edb2ff7531a069330b8","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2d3c7db45ec7fb7e1ed54e532b897c28","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.891944,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454087,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4N30.KBg2a_tBGHa0G_otFtxAAB0j0XAQDBvJRKI-23UImbU"} 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":"2d3c7db45ec7fb7e1ed54e532b897c28"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"91aa6e6e-da2b-41de-8dd8-e485630be6c0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.6315763} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d3c7db45ec7fb7e1ed54e532b897c28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3c233b4-467a-494f-8aac-7e2febdbf7b3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.6355689} 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":"2d3c7db45ec7fb7e1ed54e532b897c28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"003ce384-f1f2-4467-835e-1e1ffe9222f2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.6490788} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c15253a-6fdd-4963-bf78-b2dff9715d9c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.649299} 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":"2d3c7db45ec7fb7e1ed54e532b897c28"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.649048220Z"}]},"request_id":"7fc60bd8-ad67-4038-b835-0fa593599517","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454087.6525443} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d3c7db45ec7fb7e1ed54e532b897c28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:47 +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":"2d3c7db45ec7fb7e1ed54e532b897c28"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"2d3c7db45ec7fb7e1ed54e532b897c28","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OH0.1ov_YnnleNvrYFJUfr-0U7Ytj94u5i-8R5iVkDnErfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e5b93b3b6341be3aaa1b3c18f23777a5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.84536,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454088,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OH0.1ov_YnnleNvrYFJUfr-0U7Ytj94u5i-8R5iVkDnErfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5b93b3b6341be3aaa1b3c18f23777a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.649048220Z"}]},"request_id":"fa2f6e12-fa8d-43a5-8f49-9f0a3b298e84","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454088.160712} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5b93b3b6341be3aaa1b3c18f23777a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61733b96-5fad-4c08-8d44-0d132ca51cb6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454088.1669405} 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":"e5b93b3b6341be3aaa1b3c18f23777a5"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.649048220Z"}]},"request_id":"1830920c-4743-46ea-af4e-67c448588871","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454088.1796775} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5b93b3b6341be3aaa1b3c18f23777a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e5b93b3b6341be3aaa1b3c18f23777a5"} device-1 | {"level":"info","message":"PATCH /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b 200 34ms","method":"PATCH","requestID":"e5b93b3b6341be3aaa1b3c18f23777a5","responseTime":34,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OH0.1ov_YnnleNvrYFJUfr-0U7Ytj94u5i-8R5iVkDnErfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22326550358094df6c63304331c31ec6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.296334,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454088,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OH0.1ov_YnnleNvrYFJUfr-0U7Ytj94u5i-8R5iVkDnErfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22326550358094df6c63304331c31ec6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/websocket 200 21ms","method":"POST","requestID":"22326550358094df6c63304331c31ec6","responseTime":21,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/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":"22326550358094df6c63304331c31ec6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b' 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":"199e7a462d4d9ab1e0cb09805781d2d1","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"199e7a462d4d9ab1e0cb09805781d2d1"} device-1 | {"level":"info","message":"OPTIONS /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/websocket 200 1ms","method":"OPTIONS","requestID":"199e7a462d4d9ab1e0cb09805781d2d1","responseTime":1,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f60a7331fcbc6f12fd36bab680c77607","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.329722,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f60a7331fcbc6f12fd36bab680c77607"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/websocket 200 22ms","method":"POST","requestID":"f60a7331fcbc6f12fd36bab680c77607","responseTime":22,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f60a7331fcbc6f12fd36bab680c77607"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4f5f05dccf9f8a485fbd59580ec4a89f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.400528,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f5f05dccf9f8a485fbd59580ec4a89f"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.602980871Z"}]},"request_id":"d79a3e59-54de-46d3-bd4f-ab8c3e62909c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.7577748} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f5f05dccf9f8a485fbd59580ec4a89f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca? 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":"4f5f05dccf9f8a485fbd59580ec4a89f"} device-1 | {"level":"info","message":"GET /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca? 200 17ms","method":"GET","requestID":"4f5f05dccf9f8a485fbd59580ec4a89f","responseTime":17,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5080beb5a7f9dbb71ff9a40bf6e77e89","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266725,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5080beb5a7f9dbb71ff9a40bf6e77e89"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.649048220Z"}]},"request_id":"f38726ee-0110-49c8-85f7-2a39ba54e011","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.7815506} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5080beb5a7f9dbb71ff9a40bf6e77e89"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5080beb5a7f9dbb71ff9a40bf6e77e89"} device-1 | {"level":"info","message":"GET /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b? 200 16ms","method":"GET","requestID":"5080beb5a7f9dbb71ff9a40bf6e77e89","responseTime":16,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b6c056fbeaf993eea513740388f7d66","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:57924","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.197388,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} 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":"6b6c056fbeaf993eea513740388f7d66"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"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:57924","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723006,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68478c30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731628,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6847da50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.602980871Z"}]},"request_id":"49ff784e-8f4c-4709-843a-b15551089821","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.852753} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68478c30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.649048220Z"}]},"request_id":"19eb77cd-86d1-4a2e-b79b-3e9815c9ba26","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.8531415} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6847da50-3d42-11ef-b841-3faa56dbb9da"},"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/6b444205-f6ac-47bd-98b1-f8cf728dfcca? 200 21ms","method":"GET","requestID":"68478c30-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b? 200 20ms","method":"GET","requestID":"6847da50-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"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:57924","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.950023,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50786","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68510210-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.346571,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68515030-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50786","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.287119,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef35f0eb-f1d0-4668-a4e0-6ea94f96c421","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.9140527} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","rebac_allow":false,"scope_allow":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":"68517740-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.602980871Z"}]},"request_id":"55c2a267-2a74-4c62-a2ef-d3d3122fa8f5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.916937} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68510210-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.649048220Z"}]},"request_id":"ae90e18c-77ed-414b-bfbf-f33f66c6a42b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.9195075} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68515030-3d42-11ef-b841-3faa56dbb9da"},"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/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling 200 13ms","method":"POST","requestID":"68517740-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca? 200 20ms","method":"GET","requestID":"68510210-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b? 200 19ms","method":"GET","requestID":"68515030-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"196221ba-0dc5-4d8f-801b-bb4644e197e5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.9280052} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.910427,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6853c130-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling 200 8ms","method":"POST","requestID":"6853c130-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae0151fd-97e9-4412-80ff-4ba48662ff98","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.9325516} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5bef1bc7-77f8-41b0-9d07-47c96a8ed056#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5bef1bc7-77f8-41b0-9d07-47c96a8ed056","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"319a7139-e65e-42b4-ba68-bec2579ac5ca","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.9325364} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e31fce67-06ef-4844-82af-7ebade241e42","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.9328625} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.59993,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","rebac_allow":false,"scope_allow":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":"68548480-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} 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":"6b6c056fbeaf993eea513740388f7d66"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling 200 8ms","method":"POST","requestID":"68548480-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} gateway-1 | {"time_local":"08/Jul/2024:15:54:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b6c056fbeaf993eea513740388f7d66"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"6b6c056fbeaf993eea513740388f7d66","responseTime":145,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e446873-af0d-471d-983b-169b4abf23f6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.9429195} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.361043,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","rebac_allow":false,"scope_allow":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":"68563230-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45fd77074efcdee3584df99353c62905","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling 200 8ms","method":"POST","requestID":"68563230-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"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":"37dc9673-0120-4989-ab90-e60d2a623ad8"},{"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":"3410e872-0735-4c0b-aaf7-5139bfd735ea"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d58b5833-24aa-4107-b10c-7c5cbceb0c4e"}]},"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/6b444205-f6ac-47bd-98b1-f8cf728dfcca"},{"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/ae7bfa42-85de-4356-951e-9839d1d4eb3b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954606,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45fd77074efcdee3584df99353c62905"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.600606,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6857b8d0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.602980871Z"}]},"request_id":"c849011b-97d3-42fa-a1ba-21befd585cda","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.9541724} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45fd77074efcdee3584df99353c62905"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca? 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":"45fd77074efcdee3584df99353c62905"} device-1 | {"level":"info","message":"GET /devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca? 200 11ms","method":"GET","requestID":"45fd77074efcdee3584df99353c62905","responseTime":11,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f0b49707b51a5ef282781acf8c65ee30","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"7377feb1-bda3-48a6-bbb3-5492def3bf2e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.9634197} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb41c1fe-7834-4dcb-a635-f191de131059","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.963658} 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":"6857b8d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717114,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454089,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA4OX0.YwKZ2RzBaWT0Hc_NH2zwTGvaHWq4Tkkf32v4QmrcSlA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0b49707b51a5ef282781acf8c65ee30"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:47.649048220Z"}]},"request_id":"218b757c-2047-466e-9d31-f04861e60285","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454089.970184} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0b49707b51a5ef282781acf8c65ee30"},"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/8ea050cc-ba10-4f48-b120-367c719d2747'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"6857b8d0-3d42-11ef-b841-3faa56dbb9da","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b? 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":"f0b49707b51a5ef282781acf8c65ee30"} device-1 | {"level":"info","message":"GET /devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b? 200 17ms","method":"GET","requestID":"f0b49707b51a5ef282781acf8c65ee30","responseTime":17,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:50Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25fa25bd-7e59-418c-9eca-b56c284e510e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454090.0103474} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.175302,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","rebac_allow":false,"scope_allow":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":"68606b60-3d42-11ef-b841-3faa56dbb9da"},"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/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling 200 8ms","method":"POST","requestID":"68606b60-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:50Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"052a18bf-c15b-4d36-8df9-d47d01240ad8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454090.0214236} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.496806,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","rebac_allow":false,"scope_allow":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":"6861f200-3d42-11ef-b841-3faa56dbb9da"},"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/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling 200 9ms","method":"POST","requestID":"6861f200-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling"} device-1 | {"data":{"peerconnection":"8ea050cc-ba10-4f48-b120-367c719d2747","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/8ea050cc-ba10-4f48-b120-367c719d2747' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ea050cc-ba10-4f48-b120-367c719d2747","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/6b444205-f6ac-47bd-98b1-f8cf728dfcca'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"dc0ba95c79b5d930d67c109710aa5567","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/6b444205-f6ac-47bd-98b1-f8cf728dfcca"},{"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/ae7bfa42-85de-4356-951e-9839d1d4eb3b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"dc0ba95c79b5d930d67c109710aa5567","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"dc0ba95c79b5d930d67c109710aa5567"} device-1 | {"data":{"peerconnection":"8ea050cc-ba10-4f48-b120-367c719d2747","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8ea050cc-ba10-4f48-b120-367c719d2747","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/8ea050cc-ba10-4f48-b120-367c719d2747' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ea050cc-ba10-4f48-b120-367c719d2747","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb6ad3d3ad938d7b6d9aed069e6e5823","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca"},{"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/ae7bfa42-85de-4356-951e-9839d1d4eb3b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ea050cc-ba10-4f48-b120-367c719d2747","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a516c08-71a7-4a72-9f1e-8f850b1ce8df","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.1030705} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.626886,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747","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":"699f7b10-3d42-11ef-b841-3faa56dbb9da"},"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/8ea050cc-ba10-4f48-b120-367c719d2747 200 10ms","method":"GET","requestID":"699f7b10-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"bb6ad3d3ad938d7b6d9aed069e6e5823","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb6ad3d3ad938d7b6d9aed069e6e5823"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef365439-d8aa-45b9-ad21-3859c83f792c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.137202} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.836289,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69a4d240-3d42-11ef-b841-3faa56dbb9da"},"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/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling 200 10ms","method":"POST","requestID":"69a4d240-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af313ac0-d96b-4d8b-b9ef-4604dcc245bb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.1502795} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.224581,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69a6ce10-3d42-11ef-b841-3faa56dbb9da"},"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/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling 200 10ms","method":"POST","requestID":"69a6ce10-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"acbd83b02933ad2944aceaef53bead59","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.28444,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454092,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA"} 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":"acbd83b02933ad2944aceaef53bead59"},"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/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"acbd83b02933ad2944aceaef53bead59"} experiment-1 | {"level":"info","message":"GET /experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056 200 16ms","method":"GET","requestID":"acbd83b02933ad2944aceaef53bead59","responseTime":16,"status":200,"url":"/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4981e9067f0db631c3fc5cf7547b51c9","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.200911,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454092,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA"} 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":"4981e9067f0db631c3fc5cf7547b51c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.295413,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454092,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA"} 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":"69b462a0-3d42-11ef-b841-3faa56dbb9da"},"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/8ea050cc-ba10-4f48-b120-367c719d2747' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ea050cc-ba10-4f48-b120-367c719d2747","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ea050cc-ba10-4f48-b120-367c719d2747': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ea050cc-ba10-4f48-b120-367c719d2747","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"01d46f9e-2a30-42d3-9f8e-d56add1901f6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.2587402} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9aa3a6cf142240fa0152e4fd1ac8543d","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37588a50-40d7-4f8f-8d87-d97b5b0db8c8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.259213} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/6b444205-f6ac-47bd-98b1-f8cf728dfcca"},{"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/ae7bfa42-85de-4356-951e-9839d1d4eb3b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69b462a0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"393c7eb718ba1f6cf6fccf8ea1d2d3ef","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca"},{"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/ae7bfa42-85de-4356-951e-9839d1d4eb3b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"8ea050cc-ba10-4f48-b120-367c719d2747","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/8ea050cc-ba10-4f48-b120-367c719d2747 204 48ms","method":"DELETE","requestID":"69b462a0-3d42-11ef-b841-3faa56dbb9da","responseTime":48,"status":204,"url":"/peerconnections/8ea050cc-ba10-4f48-b120-367c719d2747"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b444205-f6ac-47bd-98b1-f8cf728dfcca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72e13ae3-b42d-4572-8f23-25b70709eec5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.311456} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.72812,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69bf3810-3d42-11ef-b841-3faa56dbb9da"},"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/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling 200 13ms","method":"POST","requestID":"69bf3810-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/6b444205-f6ac-47bd-98b1-f8cf728dfcca/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5bef1bc7-77f8-41b0-9d07-47c96a8ed056': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5bef1bc7-77f8-41b0-9d07-47c96a8ed056","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"a1378b62-b9e8-433e-a9b4-8872bd3d3000","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.319613} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aae6cb67-f610-459c-96c9-af336411a113","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.3203368} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4981e9067f0db631c3fc5cf7547b51c9"},"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:57924","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae7bfa42-85de-4356-951e-9839d1d4eb3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac72240a-7da6-4c27-876f-f605a8b63518","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.3301463} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.503201,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b","object_type":"device","rebac_allow":false,"scope_allow":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":"69c1d020-3d42-11ef-b841-3faa56dbb9da"},"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/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling 200 15ms","method":"POST","requestID":"69c1d020-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/ae7bfa42-85de-4356-951e-9839d1d4eb3b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4981e9067f0db631c3fc5cf7547b51c9"} experiment-1 | {"level":"info","message":"DELETE /experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056 204 174ms","method":"DELETE","requestID":"4981e9067f0db631c3fc5cf7547b51c9","responseTime":174,"status":204,"url":"/experiments/5bef1bc7-77f8-41b0-9d07-47c96a8ed056"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2799","request_time":"4.179","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d84b7d078ccebe87337d2d1b22668e9a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"9aa3a6cf142240fa0152e4fd1ac8543d","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"9aa3a6cf142240fa0152e4fd1ac8543d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"393c7eb718ba1f6cf6fccf8ea1d2d3ef","responseTime":133,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"393c7eb718ba1f6cf6fccf8ea1d2d3ef"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"53547cc733dedc22829e1562d4928767","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +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.682","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"797f2c9b89c4cde38e51340501ed10cd"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.940688,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454092,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA"} 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":"53547cc733dedc22829e1562d4928767"},"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/ae7bfa42-85de-4356-951e-9839d1d4eb3b' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e5020d06-8e73-4320-823a-374ac726a0b5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.4180834} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53547cc733dedc22829e1562d4928767"},"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/6b444205-f6ac-47bd-98b1-f8cf728dfcca' 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba26f070-1f1b-4b23-9f44-01108e71f18a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.4226844} 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":"53547cc733dedc22829e1562d4928767"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"e42ec972-ea3a-4f9f-a493-0d0ec9364d55","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.437325} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79f0be40-ea24-493a-9809-7aceb10a7d97","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.4376764} 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":"53547cc733dedc22829e1562d4928767"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.437301219Z"}]},"request_id":"664ede6b-942c-4fc7-af05-6f8d41b602c7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.4416616} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53547cc733dedc22829e1562d4928767"},"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":"53547cc733dedc22829e1562d4928767","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +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":"53547cc733dedc22829e1562d4928767"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7cb463e76af1c6142cb47d75cef801b0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.738609,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454092,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA"} 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":"7cb463e76af1c6142cb47d75cef801b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"135d7f2b-9dc1-4bbf-a86d-deeb6f4edc78","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.464299} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cb463e76af1c6142cb47d75cef801b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a57451d-98de-4841-a688-6e91c09a342a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.4688365} 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":"7cb463e76af1c6142cb47d75cef801b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"44ef63ca-5b39-44dd-bd95-1205d9838ccb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.479178} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de653d6a-fff2-4ee4-acc0-c0b25bee6086","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.4793417} 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":"7cb463e76af1c6142cb47d75cef801b0"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.479155287Z"}]},"request_id":"b3cb6a36-88b4-4d0b-8298-cbb7e0387ca2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.483705} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cb463e76af1c6142cb47d75cef801b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7cb463e76af1c6142cb47d75cef801b0"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"7cb463e76af1c6142cb47d75cef801b0","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e11488455bab8a7b9b4f44ceb41fcb61","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.694347,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454092,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e11488455bab8a7b9b4f44ceb41fcb61"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.479155287Z"}]},"request_id":"4c7271f1-ff7e-4ad7-9ac1-839840f3e916","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.9748347} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e11488455bab8a7b9b4f44ceb41fcb61"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d1e7b7e-a5ba-461f-b4a2-0bce115fe775","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.9804318} 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":"e11488455bab8a7b9b4f44ceb41fcb61"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.479155287Z"}]},"request_id":"1daac5b8-6706-4d25-adeb-2799ea96331e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454092.9922135} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e11488455bab8a7b9b4f44ceb41fcb61"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f 200 31ms","method":"PATCH","requestID":"e11488455bab8a7b9b4f44ceb41fcb61","responseTime":31,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f"} gateway-1 | {"time_local":"08/Jul/2024:15:54:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f 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":"e11488455bab8a7b9b4f44ceb41fcb61"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e598eec15645916dbec17bff0c7e39c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743074,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454092,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5Mn0.L3IcnR1akHkGbZSuDCLHZtrMN9_aWH5kaQ683BE1cUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e598eec15645916dbec17bff0c7e39c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/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":"3e598eec15645916dbec17bff0c7e39c"} device-1 | {"level":"info","message":"POST /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/websocket 200 19ms","method":"POST","requestID":"3e598eec15645916dbec17bff0c7e39c","responseTime":19,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f' 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":"6f8b4755b2c922e62ed8abea23b6f748","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/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":"6f8b4755b2c922e62ed8abea23b6f748"} device-1 | {"level":"info","message":"OPTIONS /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/websocket 200 1ms","method":"OPTIONS","requestID":"6f8b4755b2c922e62ed8abea23b6f748","responseTime":1,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2d36f8d3a3f68beb56a2c9ae581089c4","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.235157,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d36f8d3a3f68beb56a2c9ae581089c4"},"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/e7d0b115-65de-464d-83da-a4d0d77b5c52/websocket 200 21ms","method":"POST","requestID":"2d36f8d3a3f68beb56a2c9ae581089c4","responseTime":21,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/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":"2d36f8d3a3f68beb56a2c9ae581089c4"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cb76897b01b6f9c276c4f3f2897df71d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.363325,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb76897b01b6f9c276c4f3f2897df71d"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.437301219Z"}]},"request_id":"0ee33b2b-b016-4e59-b83b-688ca3273ffc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.5502028} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb76897b01b6f9c276c4f3f2897df71d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52? 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":"cb76897b01b6f9c276c4f3f2897df71d"} device-1 | {"level":"info","message":"GET /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52? 200 17ms","method":"GET","requestID":"cb76897b01b6f9c276c4f3f2897df71d","responseTime":17,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8464c74eb08e49c5403d38220471d107","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.320767,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8464c74eb08e49c5403d38220471d107"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.479155287Z"}]},"request_id":"09951d01-9f5c-44ce-9593-8df2e7582816","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.5750563} 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":"8464c74eb08e49c5403d38220471d107"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8464c74eb08e49c5403d38220471d107"} device-1 | {"level":"info","message":"GET /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f? 200 20ms","method":"GET","requestID":"8464c74eb08e49c5403d38220471d107","responseTime":20,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bb94304c64539244e65615eb077b29bc","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.145028,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} 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":"bb94304c64539244e65615eb077b29bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"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:57924","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.132124,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b22e6c0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.276514,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b2334e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.437301219Z"}]},"request_id":"694ec9cc-85c2-484e-96b3-7025fa0772e4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.6474488} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b22e6c0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.479155287Z"}]},"request_id":"79e13885-0998-4695-81fc-2155dd59d75d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.6488838} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b2334e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52? 200 19ms","method":"GET","requestID":"6b22e6c0-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f? 200 18ms","method":"GET","requestID":"6b2334e0-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"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:57924","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794944,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b2caac0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.479394,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} 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":"6b2cf8e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.787026,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa0501b4-5ec9-4f2c-ae86-1866e12103e9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.713172} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.437301219Z"}]},"request_id":"d1064499-8e82-441c-b803-e4b6c2a081e7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.7146301} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","rebac_allow":false,"scope_allow":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":"6b2d4700-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} 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":"6b2caac0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.479155287Z"}]},"request_id":"d8d1422a-524d-46a5-b3e5-f6dfd23a1c07","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.7177756} 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":"6b2cf8e0-3d42-11ef-b841-3faa56dbb9da"},"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/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling 200 25ms","method":"POST","requestID":"6b2d4700-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52? 200 30ms","method":"GET","requestID":"6b2caac0-3d42-11ef-b841-3faa56dbb9da","responseTime":30,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f? 200 29ms","method":"GET","requestID":"6b2cf8e0-3d42-11ef-b841-3faa56dbb9da","responseTime":29,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.651429,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66e0afb9-869b-4a3e-976a-3f59b0262628","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.7365675} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2996c8b-bce2-467d-b9c0-5adf073ec942#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2996c8b-bce2-467d-b9c0-5adf073ec942","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"634a08fc-b1b4-4496-b985-eea65afba645","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.7366314} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42b6937b-a0d7-4dc2-a9d3-50c018f3040c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.737092} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","rebac_allow":false,"scope_allow":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":"6b318cc0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb94304c64539244e65615eb077b29bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"client_addr":"127.0.0.1:50772","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.861625,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7525cae8-6689-4f10-950e-1830439250c0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.740016} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","rebac_allow":false,"scope_allow":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":"6b31dae0-3d42-11ef-b841-3faa56dbb9da"},"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/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling 200 12ms","method":"POST","requestID":"6b318cc0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling 200 13ms","method":"POST","requestID":"6b31dae0-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"08/Jul/2024:15:54:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb94304c64539244e65615eb077b29bc"} experiment-1 | {"level":"info","message":"POST /experiments? 201 159ms","method":"POST","requestID":"bb94304c64539244e65615eb077b29bc","responseTime":159,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"834c47de-819d-42cd-9814-e91858d7f82f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.7559536} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.283386,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e72596b8546c497c29e56f7bb63e5a6d","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","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":"6b344be0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907729,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling 200 12ms","method":"POST","requestID":"6b344be0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e72596b8546c497c29e56f7bb63e5a6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"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":"1fd1c5c2-f652-4e30-aeea-e8ec640a7a2b"},{"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":"d7d7b1a1-371a-4555-97ae-a54b9d15a961"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ea65c083-0787-464c-ab3b-c3d7777050aa"}]},"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/e7d0b115-65de-464d-83da-a4d0d77b5c52"},{"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/4aab35fe-f11b-42f5-9a24-5c9bebd4454f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.437301219Z"}]},"request_id":"5e3c505a-9e2b-41a8-ac41-8b93c947c9dc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.766803} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e72596b8546c497c29e56f7bb63e5a6d"},"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:57924","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.029033,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} 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":"6b3695d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52? 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":"e72596b8546c497c29e56f7bb63e5a6d"} device-1 | {"level":"info","message":"GET /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52? 200 14ms","method":"GET","requestID":"e72596b8546c497c29e56f7bb63e5a6d","responseTime":14,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"af6e41580f3352e5d1b057ed545122df","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"25057417-407d-4724-803c-e2c50c9c8e77","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.779566} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6258954c-3836-4b62-8cd0-19d93a860e5d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.7799454} 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":"6b3695d0-3d42-11ef-b841-3faa56dbb9da"},"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:57924","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.06797,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454094,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5NH0.3eb4az5vABkzkQrTemioaFT5lPg92zV9AHx9SJQ1Qn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af6e41580f3352e5d1b057ed545122df"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:52.479155287Z"}]},"request_id":"7ee918bf-bb41-462b-82a2-0481151504c3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.7882586} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af6e41580f3352e5d1b057ed545122df"},"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/753f85b6-4151-4046-8352-730a78d9cc96'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"6b3695d0-3d42-11ef-b841-3faa56dbb9da","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f? 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":"af6e41580f3352e5d1b057ed545122df"} device-1 | {"level":"info","message":"GET /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f? 200 18ms","method":"GET","requestID":"af6e41580f3352e5d1b057ed545122df","responseTime":18,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41f2e457-0fa2-4e34-9dee-10ffd5eb975b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.8333623} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755843,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b4032c0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling 200 9ms","method":"POST","requestID":"6b4032c0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b720850-f498-4e89-a64d-66b07c4be21e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454094.8452895} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.809855,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b420780-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling 200 9ms","method":"POST","requestID":"6b420780-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling"} device-1 | {"data":{"peerconnection":"753f85b6-4151-4046-8352-730a78d9cc96","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/753f85b6-4151-4046-8352-730a78d9cc96' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"753f85b6-4151-4046-8352-730a78d9cc96","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":"6cdd30db09150947effe4fce39ddd461","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/e7d0b115-65de-464d-83da-a4d0d77b5c52'"} 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/e7d0b115-65de-464d-83da-a4d0d77b5c52"},{"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/4aab35fe-f11b-42f5-9a24-5c9bebd4454f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"6cdd30db09150947effe4fce39ddd461","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"6cdd30db09150947effe4fce39ddd461"} device-1 | {"data":{"peerconnection":"753f85b6-4151-4046-8352-730a78d9cc96","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"753f85b6-4151-4046-8352-730a78d9cc96","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/753f85b6-4151-4046-8352-730a78d9cc96' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"753f85b6-4151-4046-8352-730a78d9cc96","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":"385d775ec8eb471b6648b4b025bc08ee","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/e7d0b115-65de-464d-83da-a4d0d77b5c52"},{"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/4aab35fe-f11b-42f5-9a24-5c9bebd4454f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F753f85b6-4151-4046-8352-730a78d9cc96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"595eef1a-2a99-4cee-b698-b42e38248bfa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454096.926198} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.274187,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96","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":"6c7f6980-3d42-11ef-b841-3faa56dbb9da"},"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/753f85b6-4151-4046-8352-730a78d9cc96 200 11ms","method":"GET","requestID":"6c7f6980-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"385d775ec8eb471b6648b4b025bc08ee","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"385d775ec8eb471b6648b4b025bc08ee"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e83e41cc-fc62-4deb-b9ff-bac79c6f84d2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454096.9534094} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.314604,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c838830-3d42-11ef-b841-3faa56dbb9da"},"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/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling 200 12ms","method":"POST","requestID":"6c838830-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:56Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3ad0262-a0b7-4689-a79c-f7506b284bff","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454096.9683316} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.181366,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","rebac_allow":false,"scope_allow":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":"6c85ab10-3d42-11ef-b841-3faa56dbb9da"},"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/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling 200 13ms","method":"POST","requestID":"6c85ab10-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f54a2895cca5b2186255ca035a759570","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.223051,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454097,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng"} 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":"f54a2895cca5b2186255ca035a759570"},"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/a2996c8b-bce2-467d-b9c0-5adf073ec942"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f54a2895cca5b2186255ca035a759570"} experiment-1 | {"level":"info","message":"GET /experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942 200 16ms","method":"GET","requestID":"f54a2895cca5b2186255ca035a759570","responseTime":16,"status":200,"url":"/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3d76522b847b6abddafc9f8647c2b51f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.275277,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454097,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d76522b847b6abddafc9f8647c2b51f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.210579,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454097,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng"} 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":"6c942a00-3d42-11ef-b841-3faa56dbb9da"},"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/753f85b6-4151-4046-8352-730a78d9cc96' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"753f85b6-4151-4046-8352-730a78d9cc96","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":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F753f85b6-4151-4046-8352-730a78d9cc96': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F753f85b6-4151-4046-8352-730a78d9cc96","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"0327fa09-66b0-4675-82a5-22d362765f0f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.0808094} 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/e7d0b115-65de-464d-83da-a4d0d77b5c52"},{"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/4aab35fe-f11b-42f5-9a24-5c9bebd4454f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1fc92c30b06ff27306219d8b09a871dd","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba5d764a-b526-4173-827a-819581d99699","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.0814302} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c942a00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7d49bc88ea91e0a2de6948234e377456","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":"connected","url":"http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52"},{"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/4aab35fe-f11b-42f5-9a24-5c9bebd4454f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"753f85b6-4151-4046-8352-730a78d9cc96","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/753f85b6-4151-4046-8352-730a78d9cc96 204 47ms","method":"DELETE","requestID":"6c942a00-3d42-11ef-b841-3faa56dbb9da","responseTime":47,"status":204,"url":"/peerconnections/753f85b6-4151-4046-8352-730a78d9cc96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7d0b115-65de-464d-83da-a4d0d77b5c52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31ace45c-3978-4b42-a789-dbf919eb8e8e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.1313598} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.529299,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52","object_type":"device","rebac_allow":false,"scope_allow":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":"6c9e8a40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2996c8b-bce2-467d-b9c0-5adf073ec942': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2996c8b-bce2-467d-b9c0-5adf073ec942","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"f5ae5242-f34f-4ac7-a8e6-f7b00af8ce26","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.138502} device-1 | {"level":"info","message":"POST /devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling 200 15ms","method":"POST","requestID":"6c9e8a40-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da3700a0-b27d-42b1-8b74-fbe0e47de6b0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.1392968} 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":"3d76522b847b6abddafc9f8647c2b51f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aab35fe-f11b-42f5-9a24-5c9bebd4454f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fa7afd3-e5cb-41b2-ac61-8ffbbc4fc8e2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.1499712} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.769778,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f","object_type":"device","rebac_allow":false,"scope_allow":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":"6ca14960-3d42-11ef-b841-3faa56dbb9da"},"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/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling 200 15ms","method":"POST","requestID":"6ca14960-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d76522b847b6abddafc9f8647c2b51f"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2799","request_time":"4.192","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"540cfd0f35c7aa0f35dc39a4d1181a35"} experiment-1 | {"level":"info","message":"DELETE /experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942 204 174ms","method":"DELETE","requestID":"3d76522b847b6abddafc9f8647c2b51f","responseTime":174,"status":204,"url":"/experiments/a2996c8b-bce2-467d-b9c0-5adf073ec942"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"1fc92c30b06ff27306219d8b09a871dd","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"1fc92c30b06ff27306219d8b09a871dd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"7d49bc88ea91e0a2de6948234e377456","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d49bc88ea91e0a2de6948234e377456"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e38c0ab2c9a5a043c76a0a7439c36605","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.708","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b2c53adcebe823d3acc09e5b9381b8d5"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4aab35fe-f11b-42f5-9a24-5c9bebd4454f' closed"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.034045,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454097,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng"} 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":"e38c0ab2c9a5a043c76a0a7439c36605"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e7d0b115-65de-464d-83da-a4d0d77b5c52' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c6277d3a-515b-48ed-9a20-cb1113ceec7f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.2460485} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e38c0ab2c9a5a043c76a0a7439c36605"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1431f0f7-3ec3-473c-a1d8-5a864b67e84c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.2519462} 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":"e38c0ab2c9a5a043c76a0a7439c36605"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"419b3c4d-d1ed-4bbe-a104-57c419d77859","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.2674723} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27246314-fb63-446d-b4cb-83dab70fa229","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.2675686} 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":"e38c0ab2c9a5a043c76a0a7439c36605"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.267438907Z"}]},"request_id":"74e6110b-fbcd-43a7-967f-836fbf27d449","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.2720892} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e38c0ab2c9a5a043c76a0a7439c36605"},"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 53ms","method":"POST","requestID":"e38c0ab2c9a5a043c76a0a7439c36605","responseTime":53,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e38c0ab2c9a5a043c76a0a7439c36605"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"74b9e120f824285b1d3ec5ae754df39b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.699762,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454097,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng"} 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":"74b9e120f824285b1d3ec5ae754df39b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"533824c0-6743-48df-996c-deec6ca4199f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.2966917} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74b9e120f824285b1d3ec5ae754df39b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bfb7e15-4270-4540-a80a-2b3fa3500878","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.301214} 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":"74b9e120f824285b1d3ec5ae754df39b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"cc9e4676-72c0-4f84-9f82-20efc233733a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.311039} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"deede4f2-6561-46e9-aedd-74a3162901c8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.3111506} 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":"74b9e120f824285b1d3ec5ae754df39b"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.311010540Z"}]},"request_id":"5f28b08a-911e-4f24-a9f1-24f37424c0cf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.3147898} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74b9e120f824285b1d3ec5ae754df39b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74b9e120f824285b1d3ec5ae754df39b"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"74b9e120f824285b1d3ec5ae754df39b","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87b40784b74cf2d8aa25646fc06f5ec3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618986,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454097,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87b40784b74cf2d8aa25646fc06f5ec3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.267438907Z"}]},"request_id":"45e51bfe-3b54-4b3b-be5c-2602cae3a0d1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.811594} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87b40784b74cf2d8aa25646fc06f5ec3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64c8790e-507e-4cc2-bbe4-380d55573a08","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.8187916} 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":"87b40784b74cf2d8aa25646fc06f5ec3"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.267438907Z"}]},"request_id":"0482833b-0ff8-4c5c-9bf9-67056f96f267","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454097.8307223} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87b40784b74cf2d8aa25646fc06f5ec3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"87b40784b74cf2d8aa25646fc06f5ec3"} device-1 | {"level":"info","message":"PATCH /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c 200 34ms","method":"PATCH","requestID":"87b40784b74cf2d8aa25646fc06f5ec3","responseTime":34,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4d44315afd8af776c57bd338ca0435d9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189952,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454097,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5N30.66Tg7_pEkUxaX2x3AGhUgndo9dfe9IeQwdE2f2X59Ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d44315afd8af776c57bd338ca0435d9"},"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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/websocket 200 17ms","method":"POST","requestID":"4d44315afd8af776c57bd338ca0435d9","responseTime":17,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/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":"4d44315afd8af776c57bd338ca0435d9"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c' 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":"ca671ec00b05ff2c6911e7af3e924dc2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:54:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/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":"ca671ec00b05ff2c6911e7af3e924dc2"} device-1 | {"level":"info","message":"OPTIONS /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/websocket 200 1ms","method":"OPTIONS","requestID":"ca671ec00b05ff2c6911e7af3e924dc2","responseTime":1,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d513b06a2d5b71ff3b454fd0731de81a","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205368,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d513b06a2d5b71ff3b454fd0731de81a"},"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e/websocket 200 21ms","method":"POST","requestID":"d513b06a2d5b71ff3b454fd0731de81a","responseTime":21,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:54:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/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":"d513b06a2d5b71ff3b454fd0731de81a"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8abf3efc736a8c5ae8076b4e04c9b2df","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270983,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8abf3efc736a8c5ae8076b4e04c9b2df"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.267438907Z"}]},"request_id":"e2ea7aac-5616-4006-895e-7b97f47ad77a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.3870127} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8abf3efc736a8c5ae8076b4e04c9b2df"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c? 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":"8abf3efc736a8c5ae8076b4e04c9b2df"} device-1 | {"level":"info","message":"GET /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c? 200 18ms","method":"GET","requestID":"8abf3efc736a8c5ae8076b4e04c9b2df","responseTime":18,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4f08a70d57678417f41634e3c72da3ce","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.353334,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f08a70d57678417f41634e3c72da3ce"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.311010540Z"}]},"request_id":"4f5196fa-2ecf-4fc2-b5c1-1ac626a34142","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.4140391} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f08a70d57678417f41634e3c72da3ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f08a70d57678417f41634e3c72da3ce"} device-1 | {"level":"info","message":"GET /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e? 200 16ms","method":"GET","requestID":"4f08a70d57678417f41634e3c72da3ce","responseTime":16,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2bd8563a8a3c6a47b9af629beb552764","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.105293,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} 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":"2bd8563a8a3c6a47b9af629beb552764"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"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:57924","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.370404,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} 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":"6e056d40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:48506","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:48506","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.292361,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} 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":"6e05bb60-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.267438907Z"}]},"request_id":"d6fa5d71-4e03-4024-87bb-c8aff63a6017","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.4897134} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e056d40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.311010540Z"}]},"request_id":"049598c2-f0a4-4a07-8fdf-406502b1e975","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.490226} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e05bb60-3d42-11ef-b841-3faa56dbb9da"},"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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c? 200 18ms","method":"GET","requestID":"6e056d40-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e? 200 17ms","method":"GET","requestID":"6e05bb60-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"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:57924","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.420521,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:48506","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} 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":"6e0ff490-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:48506","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190425,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} 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":"6e1042b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4fbe0d4-5017-41d4-bec3-ce3205085a27","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.5593152} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.311010540Z"}]},"request_id":"512d256c-9b4b-455d-9c25-38fd3b078ea6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.5634093} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.019756,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","rebac_allow":false,"scope_allow":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":"6e10b7e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e1042b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.267438907Z"}]},"request_id":"438ad142-b78c-409e-a54b-95b7636b7d99","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.5646155} 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":"6e0ff490-3d42-11ef-b841-3faa56dbb9da"},"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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling 200 24ms","method":"POST","requestID":"6e10b7e0-3d42-11ef-b841-3faa56dbb9da","responseTime":24,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e? 200 29ms","method":"GET","requestID":"6e1042b0-3d42-11ef-b841-3faa56dbb9da","responseTime":29,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c? 200 33ms","method":"GET","requestID":"6e0ff490-3d42-11ef-b841-3faa56dbb9da","responseTime":33,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F28bfeee5-3bf6-4ffa-abc8-05a85116d842#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F28bfeee5-3bf6-4ffa-abc8-05a85116d842","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"bf885f48-02e2-4c9d-a0cd-37169e55e42b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.577527} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88e74175-84ad-4d7d-9472-169bbe0097fc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.5781822} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2bd8563a8a3c6a47b9af629beb552764"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:48506","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"173488da-3745-4360-94af-95cdb04c5aaf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.590105} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.905524,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e1524b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb7a85a7-3e15-44b1-992a-12ae5bb0b93e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.5918849} authorization-1 | {"client_addr":"127.0.0.1:48506","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.222411,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e1599e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:54:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2bd8563a8a3c6a47b9af629beb552764"} experiment-1 | {"level":"info","message":"POST /experiments? 201 166ms","method":"POST","requestID":"2bd8563a8a3c6a47b9af629beb552764","responseTime":166,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/signaling 200 17ms","method":"POST","requestID":"6e1524b0-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling 200 16ms","method":"POST","requestID":"6e1599e0-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74886b3ad38c9f3dcadbb4502d57d9ed","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd11308d-20dd-4158-b0d9-1df492d7adc5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.6054628} authorization-1 | {"client_addr":"127.0.0.1:48506","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.006922,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e185900-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:48506","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845731,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74886b3ad38c9f3dcadbb4502d57d9ed"},"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e/signaling 200 11ms","method":"POST","requestID":"6e185900-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.267438907Z"}]},"request_id":"2b77b0df-81bc-4f61-99eb-d901a949d756","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.6116343} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"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":"8965c6c8-982f-41c8-91ee-65d183e7d439"},{"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":"7f166fbb-b414-4a38-97aa-e343418d1ec2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"13a11c0b-1ae5-46d7-86d4-d2295ba9ec2c"}]},"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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c"},{"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e"}],"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":"74886b3ad38c9f3dcadbb4502d57d9ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c? 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":"74886b3ad38c9f3dcadbb4502d57d9ed"} device-1 | {"level":"info","message":"GET /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c? 200 14ms","method":"GET","requestID":"74886b3ad38c9f3dcadbb4502d57d9ed","responseTime":14,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.870312,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} 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":"6e1a7be0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d5c72916eee4a3164636acbedd21dede","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.827186,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454099,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDA5OX0.UlixkxENbArxrBd1phX2Qs6aVTEKrmnE7rm37Dlhnvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5c72916eee4a3164636acbedd21dede"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"ff50e5dd-d056-457b-9f01-fda2b699d340","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.6291885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b23249d-7e18-40c0-8d8e-848a9d341320","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.6294732} 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":"6e1a7be0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:54:57.311010540Z"}]},"request_id":"14506f26-6e0c-4cd0-912a-32cea9da7fd6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.6339118} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5c72916eee4a3164636acbedd21dede"},"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/8ea7f683-e137-4acd-8f9e-9002d1af806f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"6e1a7be0-3d42-11ef-b841-3faa56dbb9da","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:54:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e? 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":"d5c72916eee4a3164636acbedd21dede"} device-1 | {"level":"info","message":"GET /devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e? 200 20ms","method":"GET","requestID":"d5c72916eee4a3164636acbedd21dede","responseTime":20,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67d9705d-e34c-4a72-9207-bd6141ce6db8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.6746638} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.675508,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e22e050-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling 200 10ms","method":"POST","requestID":"6e22e050-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35ac2083-64c3-4a5e-9361-01d9f513735e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454099.6881733} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.255915,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:54:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","rebac_allow":false,"scope_allow":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":"6e24b510-3d42-11ef-b841-3faa56dbb9da"},"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e/signaling 200 13ms","method":"POST","requestID":"6e24b510-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/signaling"} device-1 | {"data":{"peerconnection":"8ea7f683-e137-4acd-8f9e-9002d1af806f","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/8ea7f683-e137-4acd-8f9e-9002d1af806f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ea7f683-e137-4acd-8f9e-9002d1af806f","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":"a0ec3724869cb4f10e0c05ca9968ee11","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c"},{"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"a0ec3724869cb4f10e0c05ca9968ee11","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"a0ec3724869cb4f10e0c05ca9968ee11"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e'"} device-1 | {"data":{"peerconnection":"8ea7f683-e137-4acd-8f9e-9002d1af806f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8ea7f683-e137-4acd-8f9e-9002d1af806f","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/8ea7f683-e137-4acd-8f9e-9002d1af806f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ea7f683-e137-4acd-8f9e-9002d1af806f","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":"19e92a5a73575a85aa7a57cf3ca374d5","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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c"},{"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ea7f683-e137-4acd-8f9e-9002d1af806f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b3303e5-56e3-471e-a161-bfb2d62a1245","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454101.8175344} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.429372,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f","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":"6f69b830-3d42-11ef-b841-3faa56dbb9da"},"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/8ea7f683-e137-4acd-8f9e-9002d1af806f 200 12ms","method":"GET","requestID":"6f69b830-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"19e92a5a73575a85aa7a57cf3ca374d5","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"19e92a5a73575a85aa7a57cf3ca374d5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65ab1013-2f7c-4651-ab38-dd9635cdf06c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454101.8484507} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.841596,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f6e9a30-3d42-11ef-b841-3faa56dbb9da"},"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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling 200 10ms","method":"POST","requestID":"6f6e9a30-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b431013-4e69-4850-b0dd-95b38ffdd95f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454101.8613634} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.84038,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f709600-3d42-11ef-b841-3faa56dbb9da"},"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e/signaling 200 10ms","method":"POST","requestID":"6f709600-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMX0.3yGHtY_Pz5H2iyDPqyRbegWH8qzdWniGD6jNMe4heD8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d279b280100c6a45d6278a68f8ecfeaf","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.042427,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454101,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMX0.3yGHtY_Pz5H2iyDPqyRbegWH8qzdWniGD6jNMe4heD8"} 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":"d279b280100c6a45d6278a68f8ecfeaf"},"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/28bfeee5-3bf6-4ffa-abc8-05a85116d842"} gateway-1 | {"time_local":"08/Jul/2024:15:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d279b280100c6a45d6278a68f8ecfeaf"} experiment-1 | {"level":"info","message":"GET /experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842 200 14ms","method":"GET","requestID":"d279b280100c6a45d6278a68f8ecfeaf","responseTime":14,"status":200,"url":"/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMX0.3yGHtY_Pz5H2iyDPqyRbegWH8qzdWniGD6jNMe4heD8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"be164684c8efff7f00d5f928912704fa","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.161146,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454101,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMX0.3yGHtY_Pz5H2iyDPqyRbegWH8qzdWniGD6jNMe4heD8"} 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":"be164684c8efff7f00d5f928912704fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.294585,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454101,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMX0.3yGHtY_Pz5H2iyDPqyRbegWH8qzdWniGD6jNMe4heD8"} 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":"6f7e2a90-3d42-11ef-b841-3faa56dbb9da"},"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/8ea7f683-e137-4acd-8f9e-9002d1af806f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ea7f683-e137-4acd-8f9e-9002d1af806f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ea7f683-e137-4acd-8f9e-9002d1af806f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ea7f683-e137-4acd-8f9e-9002d1af806f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"f5bb6169-c5a3-4669-8383-621df7ca02aa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454101.9689848} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"907e4acb6acff399b8e96052e83030f9","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99596a45-18c3-4963-ad33-781fefc54dd8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454101.9695277} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c"},{"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f5aae08c25a66c0a8d723401850859c1","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f7e2a90-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c"},{"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"8ea7f683-e137-4acd-8f9e-9002d1af806f","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/8ea7f683-e137-4acd-8f9e-9002d1af806f 204 47ms","method":"DELETE","requestID":"6f7e2a90-3d42-11ef-b841-3faa56dbb9da","responseTime":47,"status":204,"url":"/peerconnections/8ea7f683-e137-4acd-8f9e-9002d1af806f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0f63ba8-87ad-4ee3-87e1-d79a7669542c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b382e83-25fe-427f-8a08-78e8ca9d20a4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.0240693} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.883567,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c","object_type":"device","rebac_allow":false,"scope_allow":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":"6f892710-3d42-11ef-b841-3faa56dbb9da"},"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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling 200 13ms","method":"POST","requestID":"6f892710-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/f0f63ba8-87ad-4ee3-87e1-d79a7669542c/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F28bfeee5-3bf6-4ffa-abc8-05a85116d842': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F28bfeee5-3bf6-4ffa-abc8-05a85116d842","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"76c9fe9e-543b-4889-826c-00fb3d92f67c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.0308301} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27c4f501-cbb1-4965-b30e-9f6874cb9965","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.031091} 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":"be164684c8efff7f00d5f928912704fa"},"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:57924","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1954f0f-2bb7-433c-afa0-7402fd38b06e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2de51d1c-3423-4646-b46f-23eb790c37f5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.037589} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.491852,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f8b7100-3d42-11ef-b841-3faa56dbb9da"},"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e/signaling 200 11ms","method":"POST","requestID":"6f8b7100-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/f1954f0f-2bb7-433c-afa0-7402fd38b06e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"} gateway-1 | {"time_local":"08/Jul/2024:15:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be164684c8efff7f00d5f928912704fa"} gateway-1 | {"time_local":"08/Jul/2024:15:55:02 +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.240","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"83e35e5e3ff9407548d05fc890f4f484"} experiment-1 | {"level":"info","message":"DELETE /experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842 204 172ms","method":"DELETE","requestID":"be164684c8efff7f00d5f928912704fa","responseTime":172,"status":204,"url":"/experiments/28bfeee5-3bf6-4ffa-abc8-05a85116d842"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"907e4acb6acff399b8e96052e83030f9","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"907e4acb6acff399b8e96052e83030f9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"f5aae08c25a66c0a8d723401850859c1","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"f5aae08c25a66c0a8d723401850859c1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMn0.ej6hDg3TcCVsk9GCtSlOyiomDJ_ZDOe0YFjJvk9IMlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6bbc4f19eda9fc2c5147735ecb654323","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:55:02 +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.759","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ea7c36b7db212b0cc887e2b8b07bde84"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.355758,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454102,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMn0.ej6hDg3TcCVsk9GCtSlOyiomDJ_ZDOe0YFjJvk9IMlc"} 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":"6bbc4f19eda9fc2c5147735ecb654323"},"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/f0f63ba8-87ad-4ee3-87e1-d79a7669542c' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"114e8968-9895-4f05-bb9d-b535d83ed17f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.1251674} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bbc4f19eda9fc2c5147735ecb654323"},"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/f1954f0f-2bb7-433c-afa0-7402fd38b06e' 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f828c91c-45dc-408e-bd5e-f51b4167c5c2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.130608} 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":"6bbc4f19eda9fc2c5147735ecb654323"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"5c348e06-b025-4080-a3a7-f46195c72914","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.1452923} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b5d5bf5-3721-443a-b26e-cddd8f6a4613","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.1455886} 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":"6bbc4f19eda9fc2c5147735ecb654323"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.145268299Z"}]},"request_id":"523b5346-4ab2-46ca-93e7-315c6943e598","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.1497297} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bbc4f19eda9fc2c5147735ecb654323"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"6bbc4f19eda9fc2c5147735ecb654323","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6bbc4f19eda9fc2c5147735ecb654323"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMn0.ej6hDg3TcCVsk9GCtSlOyiomDJ_ZDOe0YFjJvk9IMlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ddb8dd39373cebb1660a25e4a7be4c7d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.730919,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454102,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMn0.ej6hDg3TcCVsk9GCtSlOyiomDJ_ZDOe0YFjJvk9IMlc"} 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":"ddb8dd39373cebb1660a25e4a7be4c7d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aab58378-c703-4468-9ec0-b6717a0fcd47","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.1746678} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ddb8dd39373cebb1660a25e4a7be4c7d"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04b78a0f-3118-4ed8-916d-0b36a4278f7c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.1792665} 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":"ddb8dd39373cebb1660a25e4a7be4c7d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"22118d35-7e0f-4b73-a16b-131f4da84247","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.1891} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58d72e86-3966-40d2-981c-488569745c75","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.189204} 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":"ddb8dd39373cebb1660a25e4a7be4c7d"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.189059256Z"}]},"request_id":"1330596c-52d8-4158-979b-96478f07f4ad","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.1932445} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ddb8dd39373cebb1660a25e4a7be4c7d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ddb8dd39373cebb1660a25e4a7be4c7d"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"ddb8dd39373cebb1660a25e4a7be4c7d","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMn0.ej6hDg3TcCVsk9GCtSlOyiomDJ_ZDOe0YFjJvk9IMlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"81d862320ab0e77d2001a7dfcbdfbf21","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.08235,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454102,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMn0.ej6hDg3TcCVsk9GCtSlOyiomDJ_ZDOe0YFjJvk9IMlc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81d862320ab0e77d2001a7dfcbdfbf21"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.145268299Z"}]},"request_id":"c246183c-1527-4f21-8709-9ebdbeb6f2ba","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.7004604} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81d862320ab0e77d2001a7dfcbdfbf21"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b68bf20-0ea8-4c2f-ae6c-38f6bd803b68","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.7057796} 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":"81d862320ab0e77d2001a7dfcbdfbf21"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.145268299Z"}]},"request_id":"5dee08e0-98fc-465c-965d-735c88730135","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454102.7187808} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81d862320ab0e77d2001a7dfcbdfbf21"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85 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":"81d862320ab0e77d2001a7dfcbdfbf21"} device-1 | {"level":"info","message":"PATCH /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85 200 33ms","method":"PATCH","requestID":"81d862320ab0e77d2001a7dfcbdfbf21","responseTime":33,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMn0.ej6hDg3TcCVsk9GCtSlOyiomDJ_ZDOe0YFjJvk9IMlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8e58dd5dbd9b689b2791fdaee7bdd50","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88843,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454102,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwMn0.ej6hDg3TcCVsk9GCtSlOyiomDJ_ZDOe0YFjJvk9IMlc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8e58dd5dbd9b689b2791fdaee7bdd50"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/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":"d8e58dd5dbd9b689b2791fdaee7bdd50"} device-1 | {"level":"info","message":"POST /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/websocket 200 17ms","method":"POST","requestID":"d8e58dd5dbd9b689b2791fdaee7bdd50","responseTime":17,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85' 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":"782fe0a58ff06f4000f64b4d42e4a45f","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/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":"782fe0a58ff06f4000f64b4d42e4a45f"} device-1 | {"level":"info","message":"OPTIONS /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/websocket 200 1ms","method":"OPTIONS","requestID":"782fe0a58ff06f4000f64b4d42e4a45f","responseTime":1,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3fef62173bcc43a8fcb2716d711b86ea","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.144443,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fef62173bcc43a8fcb2716d711b86ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/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":"3fef62173bcc43a8fcb2716d711b86ea"} device-1 | {"level":"info","message":"POST /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/websocket 200 22ms","method":"POST","requestID":"3fef62173bcc43a8fcb2716d711b86ea","responseTime":22,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"df1574b248eb8294b6b678bb86a7baa9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.580394,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} 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":"df1574b248eb8294b6b678bb86a7baa9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.145268299Z"}]},"request_id":"1ee6859e-28b3-4205-a541-1add52b255d8","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.2913375} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df1574b248eb8294b6b678bb86a7baa9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85? 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":"df1574b248eb8294b6b678bb86a7baa9"} device-1 | {"level":"info","message":"GET /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85? 200 18ms","method":"GET","requestID":"df1574b248eb8294b6b678bb86a7baa9","responseTime":18,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1f3d21074690ca3f665cf9db4a734e7f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.253011,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f3d21074690ca3f665cf9db4a734e7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.189059256Z"}]},"request_id":"30c9a6f9-c5b2-4ee2-ba63-4134b5cdb0ed","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.3153296} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f3d21074690ca3f665cf9db4a734e7f"},"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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa? 200 16ms","method":"GET","requestID":"1f3d21074690ca3f665cf9db4a734e7f","responseTime":16,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa? 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":"1f3d21074690ca3f665cf9db4a734e7f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"23375a9e72492cc5242e9489893a60df","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.354258,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23375a9e72492cc5242e9489893a60df"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"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:57924","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930135,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70f05830-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764828,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} 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":"70f07f40-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.145268299Z"}]},"request_id":"cba82eb9-c0a5-4361-9579-5c8d6b009350","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.3808267} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70f05830-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.189059256Z"}]},"request_id":"66cd8ff7-3c97-433c-ad09-5619d41dcfe5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.3845909} 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":"70f07f40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85? 200 14ms","method":"GET","requestID":"70f05830-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa? 200 15ms","method":"GET","requestID":"70f07f40-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"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/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.77112,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70fa6a50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724792,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} 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":"70fa9160-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55: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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.145268299Z"}]},"request_id":"9c8680f4-b5f4-407a-a2e8-0b70905dcc42","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.4497552} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad565db8-1c5c-459d-9919-195143fa03c9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.4499717} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70fa6a50-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.189059256Z"}]},"request_id":"f2a574bd-4ee7-438f-af81-3442591cc570","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.4508045} authorization-1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.479455,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","rebac_allow":false,"scope_allow":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":"70fab870-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70fa9160-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85? 200 18ms","method":"GET","requestID":"70fa6a50-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling 200 18ms","method":"POST","requestID":"70fab870-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa? 200 20ms","method":"GET","requestID":"70fa9160-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"95647d0a-1758-452e-ade8-7bf6cbe3c03b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.4619825} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"256ea29c-680e-438a-8cee-08a7555b3905","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.4626257} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} 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":"23375a9e72492cc5242e9489893a60df"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.566683,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb243b45-cb41-4c4a-98dc-cff888e2e607","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.46499} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02a63098-2f52-4f37-9eb8-f07d94d92b90","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.4665499} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","rebac_allow":false,"scope_allow":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":"70fd9ea0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.396694,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70fdecc0-3d42-11ef-b841-3faa56dbb9da"},"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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/signaling 200 14ms","method":"POST","requestID":"70fd9ea0-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling 200 12ms","method":"POST","requestID":"70fdecc0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23375a9e72492cc5242e9489893a60df"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"23375a9e72492cc5242e9489893a60df","responseTime":145,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e15edff99cd3a34b37fb5208276f4852","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a9968b8-3e43-400b-afe6-53a9afc54646","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.481299} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.292607,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","rebac_allow":false,"scope_allow":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":"71005dc0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673234,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e15edff99cd3a34b37fb5208276f4852"},"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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/signaling 200 12ms","method":"POST","requestID":"71005dc0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.145268299Z"}]},"request_id":"75bd0229-ec9d-4250-96f8-106e497a603b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.4891171} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"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":"aa3ecdf7-28ff-4a6f-8390-9fd634c3c7b5"},{"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":"f3bf9c2c-2561-4e9c-94b5-1fd09849f4b0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e20402e6-fba5-4b52-9376-20b2e0576fec"}]},"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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa"},{"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/3559ab42-3b41-4638-bcf3-196fb9ed4a85"}],"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":"e15edff99cd3a34b37fb5208276f4852"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85? 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":"e15edff99cd3a34b37fb5208276f4852"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} device-1 | {"level":"info","message":"GET /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85? 200 12ms","method":"GET","requestID":"e15edff99cd3a34b37fb5208276f4852","responseTime":12,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.839337,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} 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":"7102a7b0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bad82f5852ac4d686d7f4da7d0eb10d8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.834453,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454104,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNH0.AEI17zStgCyyqYc2MBFKyBkxmyVt1aUlRh6H1QJU3rc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bad82f5852ac4d686d7f4da7d0eb10d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"10792274-43e9-44b2-b454-154274af9cf3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.5024774} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fec2d656-f85c-4006-b48b-7a6e99f3a639","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.5027604} 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":"7102a7b0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:02.189059256Z"}]},"request_id":"0b499e57-fda5-4244-a670-334fa5edd564","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.5061862} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bad82f5852ac4d686d7f4da7d0eb10d8"},"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/da135dab-16eb-44c2-b0bf-6803bff70e3b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b'"} 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 24ms","method":"POST","requestID":"7102a7b0-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa? 200 17ms","method":"GET","requestID":"bad82f5852ac4d686d7f4da7d0eb10d8","responseTime":17,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa? 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":"bad82f5852ac4d686d7f4da7d0eb10d8"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69a28dba-69a0-42a3-a6b1-0cceb785e9b4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.5457811} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.23813,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","rebac_allow":false,"scope_allow":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":"710a48d0-3d42-11ef-b841-3faa56dbb9da"},"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/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling 200 8ms","method":"POST","requestID":"710a48d0-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"027b9132-2698-46c3-8d65-ac0cd700e60e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454104.5550547} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.320854,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","rebac_allow":false,"scope_allow":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":"710bcf70-3d42-11ef-b841-3faa56dbb9da"},"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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/signaling 200 7ms","method":"POST","requestID":"710bcf70-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/signaling"} device-1 | {"data":{"peerconnection":"da135dab-16eb-44c2-b0bf-6803bff70e3b","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/da135dab-16eb-44c2-b0bf-6803bff70e3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"da135dab-16eb-44c2-b0bf-6803bff70e3b","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":"1c9e56acd2a090c488e7107b18fdd320","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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa"},{"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/3559ab42-3b41-4638-bcf3-196fb9ed4a85"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"1c9e56acd2a090c488e7107b18fdd320","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"1c9e56acd2a090c488e7107b18fdd320"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa'"} device-1 | {"data":{"peerconnection":"da135dab-16eb-44c2-b0bf-6803bff70e3b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"da135dab-16eb-44c2-b0bf-6803bff70e3b","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/da135dab-16eb-44c2-b0bf-6803bff70e3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"da135dab-16eb-44c2-b0bf-6803bff70e3b","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":"b6cb0eca5d73cfa240c7bdd57aa92ae9","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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa"},{"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/3559ab42-3b41-4638-bcf3-196fb9ed4a85"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fda135dab-16eb-44c2-b0bf-6803bff70e3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f458562b-e7e8-43ff-afbc-52d39f8f01bf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.6186805} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.160651,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b","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":"72467250-3d42-11ef-b841-3faa56dbb9da"},"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/da135dab-16eb-44c2-b0bf-6803bff70e3b 200 10ms","method":"GET","requestID":"72467250-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"b6cb0eca5d73cfa240c7bdd57aa92ae9","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"b6cb0eca5d73cfa240c7bdd57aa92ae9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a95b8805-a5a0-4853-bfb5-aae7223e37d2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.6450558} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.205369,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"724a69f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/signaling 200 11ms","method":"POST","requestID":"724a69f0-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a783855-b859-448f-8c0e-fa6d26be10b3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.657576} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.231797,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"724c65c0-3d42-11ef-b841-3faa56dbb9da"},"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/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling 200 10ms","method":"POST","requestID":"724c65c0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNn0.oXMh08liJi-ooE6QV-Xp6SKhmi64XAfp0WF3ebzed6g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c17d1f749be33f766940456448d7f979","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.262241,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454106,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNn0.oXMh08liJi-ooE6QV-Xp6SKhmi64XAfp0WF3ebzed6g"} 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":"c17d1f749be33f766940456448d7f979"},"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/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"} experiment-1 | {"level":"info","message":"GET /experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5 200 13ms","method":"GET","requestID":"c17d1f749be33f766940456448d7f979","responseTime":13,"status":200,"url":"/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"} gateway-1 | {"time_local":"08/Jul/2024:15:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c17d1f749be33f766940456448d7f979"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNn0.oXMh08liJi-ooE6QV-Xp6SKhmi64XAfp0WF3ebzed6g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"24acea1421ed66ad08aa7fcdf5f490f2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.263185,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454106,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNn0.oXMh08liJi-ooE6QV-Xp6SKhmi64XAfp0WF3ebzed6g"} 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":"24acea1421ed66ad08aa7fcdf5f490f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.277636,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454106,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNn0.oXMh08liJi-ooE6QV-Xp6SKhmi64XAfp0WF3ebzed6g"} 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":"725b0bc0-3d42-11ef-b841-3faa56dbb9da"},"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/da135dab-16eb-44c2-b0bf-6803bff70e3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"da135dab-16eb-44c2-b0bf-6803bff70e3b","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":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fda135dab-16eb-44c2-b0bf-6803bff70e3b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fda135dab-16eb-44c2-b0bf-6803bff70e3b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"a24e7ef5-9547-449d-bf24-32b1079ff977","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.7738292} 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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa"},{"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/3559ab42-3b41-4638-bcf3-196fb9ed4a85"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7036e7948a2a030cf40c01580a156481","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1c7173e4e2cf90d958f9d83ebebe8d70","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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa"},{"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/3559ab42-3b41-4638-bcf3-196fb9ed4a85"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b"}}},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05f7c591-4ac6-46fd-b363-f439e40f5885","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.774515} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"725b0bc0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"data":{"peerconnection":"da135dab-16eb-44c2-b0bf-6803bff70e3b","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/da135dab-16eb-44c2-b0bf-6803bff70e3b 204 45ms","method":"DELETE","requestID":"725b0bc0-3d42-11ef-b841-3faa56dbb9da","responseTime":45,"status":204,"url":"/peerconnections/da135dab-16eb-44c2-b0bf-6803bff70e3b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ca00124-1e66-448c-a6d6-50ec2e7c10aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4417be45-8c66-4c66-bf92-8db82f20fc20","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.821891} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.05492,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa","object_type":"device","rebac_allow":false,"scope_allow":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":"72651de0-3d42-11ef-b841-3faa56dbb9da"},"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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/signaling 200 12ms","method":"POST","requestID":"72651de0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/9ca00124-1e66-448c-a6d6-50ec2e7c10aa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"8f529245-3c0d-4e66-858a-dbec3dc69c8d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.8319693} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e323d1e9-2051-46b0-9b88-620f4543fbe6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.8322496} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} 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":"24acea1421ed66ad08aa7fcdf5f490f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3559ab42-3b41-4638-bcf3-196fb9ed4a85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ef48652-7de0-4e2c-991c-0e30ef3ce70a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.83473} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.725544,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"726767d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling 200 10ms","method":"POST","requestID":"726767d0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/3559ab42-3b41-4638-bcf3-196fb9ed4a85/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"} gateway-1 | {"time_local":"08/Jul/2024:15:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24acea1421ed66ad08aa7fcdf5f490f2"} experiment-1 | {"level":"info","message":"DELETE /experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5 204 170ms","method":"DELETE","requestID":"24acea1421ed66ad08aa7fcdf5f490f2","responseTime":170,"status":204,"url":"/experiments/e02d7bd6-4a8c-4ad8-acd8-bb72bc5d97d5"} gateway-1 | {"time_local":"08/Jul/2024:15:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2801","request_time":"4.154","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6ddc08fb8e3bda91c94fa64f90f3a99d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"7036e7948a2a030cf40c01580a156481","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"7036e7948a2a030cf40c01580a156481"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"1c7173e4e2cf90d958f9d83ebebe8d70","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"1c7173e4e2cf90d958f9d83ebebe8d70"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNn0.oXMh08liJi-ooE6QV-Xp6SKhmi64XAfp0WF3ebzed6g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b29d18b02174891d269ef055ef02d17","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.655","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b73dd8a0d8b687977c0f29fc9e6f4907"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.153657,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454106,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNn0.oXMh08liJi-ooE6QV-Xp6SKhmi64XAfp0WF3ebzed6g"} 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":"0b29d18b02174891d269ef055ef02d17"},"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/3559ab42-3b41-4638-bcf3-196fb9ed4a85' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7665f1f4-42c1-4e2b-a546-d66f6c3c5d7b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.9271128} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b29d18b02174891d269ef055ef02d17"},"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/9ca00124-1e66-448c-a6d6-50ec2e7c10aa' 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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"853002b2-b390-4b0b-bb62-3d1a7ada9b5f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.9321177} 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":"0b29d18b02174891d269ef055ef02d17"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"bf08c534-f5fc-45bd-86ba-4fc38933d18b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.9415286} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64dadc20-7193-4b12-9487-e232ad2d2dac","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.9418263} 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":"0b29d18b02174891d269ef055ef02d17"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.941505071Z"}]},"request_id":"a54cfb43-da62-4878-b049-664517a977f1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.9462252} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b29d18b02174891d269ef055ef02d17"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"0b29d18b02174891d269ef055ef02d17","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:06 +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":"0b29d18b02174891d269ef055ef02d17"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNn0.oXMh08liJi-ooE6QV-Xp6SKhmi64XAfp0WF3ebzed6g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"941cdc82f76c65b3a2f68083107b4459","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.839002,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454106,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwNn0.oXMh08liJi-ooE6QV-Xp6SKhmi64XAfp0WF3ebzed6g"} 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":"941cdc82f76c65b3a2f68083107b4459"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"00ddea40-7224-4100-80bd-489ba2b747e9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.9754946} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"941cdc82f76c65b3a2f68083107b4459"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f757bf9-3c2b-456f-a403-73e53b3ffe63","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.9797184} 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":"941cdc82f76c65b3a2f68083107b4459"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"a6b50f26-899d-4fb2-9375-89193ccd8396","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.9894943} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6567ba4-2249-4c35-8c4e-5805c8883b6e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.989781} 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":"941cdc82f76c65b3a2f68083107b4459"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.989469687Z"}]},"request_id":"0828079d-a3bc-4696-b090-f50567641f1a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454106.9935956} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"941cdc82f76c65b3a2f68083107b4459"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:06 +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":"941cdc82f76c65b3a2f68083107b4459"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"941cdc82f76c65b3a2f68083107b4459","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"07f496f3895df6fd0f4bbd05946cefb2","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b003b4df60e3b2f64ea5354aa6d6f1da","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609932,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} 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":"07f496f3895df6fd0f4bbd05946cefb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.572424,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} 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":"b003b4df60e3b2f64ea5354aa6d6f1da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.989469687Z"}]},"request_id":"bb211d78-df9d-4a4c-8b48-8860afca3fbb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.4777858} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07f496f3895df6fd0f4bbd05946cefb2"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.941505071Z"}]},"request_id":"6d1d5118-2a38-456e-8627-033ce79015df","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.47847} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b003b4df60e3b2f64ea5354aa6d6f1da"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"385824b5-c061-4469-b9dd-bf017666c20a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.4818313} 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":"07f496f3895df6fd0f4bbd05946cefb2"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f592d91-dafa-44d6-a785-87932ac7ecfa","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.4828472} 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":"b003b4df60e3b2f64ea5354aa6d6f1da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.941505071Z"}]},"request_id":"d1e38f05-5cff-441e-92bd-2be6ac879fc2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.485564} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b003b4df60e3b2f64ea5354aa6d6f1da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4 200 17ms","method":"PATCH","requestID":"b003b4df60e3b2f64ea5354aa6d6f1da","responseTime":17,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4"} gateway-1 | {"time_local":"08/Jul/2024:15:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b003b4df60e3b2f64ea5354aa6d6f1da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1756719dcc69e08f59972ccccec70357","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61977,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1756719dcc69e08f59972ccccec70357"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.989469687Z"}]},"request_id":"981afdb0-a041-45aa-a646-2b702617976c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.4958034} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07f496f3895df6fd0f4bbd05946cefb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32 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":"07f496f3895df6fd0f4bbd05946cefb2"} device-1 | {"level":"info","message":"PATCH /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32 200 31ms","method":"PATCH","requestID":"07f496f3895df6fd0f4bbd05946cefb2","responseTime":31,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78be60c8d6b8e1b9db7197353e26799a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689895,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78be60c8d6b8e1b9db7197353e26799a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1756719dcc69e08f59972ccccec70357"} device-1 | {"level":"info","message":"POST /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/websocket 200 19ms","method":"POST","requestID":"1756719dcc69e08f59972ccccec70357","responseTime":19,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/websocket 200 16ms","method":"POST","requestID":"78be60c8d6b8e1b9db7197353e26799a","responseTime":16,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"78be60c8d6b8e1b9db7197353e26799a"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f10a5a34699f53e87880775b89ec416e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785113,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f10a5a34699f53e87880775b89ec416e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.941505071Z"}]},"request_id":"6aadd132-1142-44f1-917b-6be54b70fbbc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.558655} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f10a5a34699f53e87880775b89ec416e"},"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/3beca582-48d0-4455-b4c2-cca371cdb8a4? 200 12ms","method":"GET","requestID":"f10a5a34699f53e87880775b89ec416e","responseTime":12,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4? 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":"f10a5a34699f53e87880775b89ec416e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9259768b9804531203c6ffa045ecffec","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.094896,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9259768b9804531203c6ffa045ecffec"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.989469687Z"}]},"request_id":"f8ee93ed-9dab-4613-a795-840df3f219f6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.5784361} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9259768b9804531203c6ffa045ecffec"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32? 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":"9259768b9804531203c6ffa045ecffec"} device-1 | {"level":"info","message":"GET /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32? 200 13ms","method":"GET","requestID":"9259768b9804531203c6ffa045ecffec","responseTime":13,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e8e994412331a3a5e30391b9563975ef","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:57924","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.700335,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} 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":"e8e994412331a3a5e30391b9563975ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"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:57924","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210668,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72e1a0e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.581569,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72e1ef00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.941505071Z"}]},"request_id":"c6785f3d-eb40-494f-b455-82641db3d245","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.6413422} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72e1a0e0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.989469687Z"}]},"request_id":"eb613ad8-8800-4b7b-af9a-b7784a1ceac6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.6427412} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72e1ef00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4? 200 19ms","method":"GET","requestID":"72e1a0e0-3d42-11ef-b841-3faa56dbb9da","responseTime":19,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32? 200 18ms","method":"GET","requestID":"72e1ef00-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"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:57924","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.272776,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} 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":"72eb64e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.280695,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} 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":"72ebb300-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.891878,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7abbb70-dc4b-439f-9f23-6f9cd44166d0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.705877} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","rebac_allow":false,"scope_allow":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":"72ec0120-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.941505071Z"}]},"request_id":"8f1c4258-651c-4762-916e-95624d0018c9","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7098038} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72eb64e0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.989469687Z"}]},"request_id":"c9f7da0b-a786-460e-86ac-768b5d0c3661","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7122533} device-1 | {"level":"info","message":"POST /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/signaling 200 15ms","method":"POST","requestID":"72ec0120-3d42-11ef-b841-3faa56dbb9da","responseTime":15,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/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":"72ebb300-3d42-11ef-b841-3faa56dbb9da"},"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 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4? 200 26ms","method":"GET","requestID":"72eb64e0-3d42-11ef-b841-3faa56dbb9da","responseTime":26,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32? 200 25ms","method":"GET","requestID":"72ebb300-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f99d605-be61-408d-989e-6b284cdfaa6d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7214243} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.440787,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72eec040-3d42-11ef-b841-3faa56dbb9da"},"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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/signaling 200 13ms","method":"POST","requestID":"72eec040-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff3937165-405b-401c-bbc9-44fcac5c2883#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff3937165-405b-401c-bbc9-44fcac5c2883","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"54b33683-5db9-4e62-a343-1ce397621e1e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7276003} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54b8de6e-d0ba-4976-ab2f-3da8c18876bf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7280161} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} 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":"e8e994412331a3a5e30391b9563975ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef8cc96b-39c3-49f0-a3f3-644ecc00360c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7310815} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.236393,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72eff8c0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/signaling 200 12ms","method":"POST","requestID":"72eff8c0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"08/Jul/2024:15:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8e994412331a3a5e30391b9563975ef"} experiment-1 | {"level":"info","message":"POST /experiments? 201 149ms","method":"POST","requestID":"e8e994412331a3a5e30391b9563975ef","responseTime":149,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1cab73e0-296b-4efc-a789-18aa6cb886ae","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7436006} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.063936,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a7d006afb80e7b573f34bb5e4a70495","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72f21ba0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.924464,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} device-1 | {"level":"info","message":"POST /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/signaling 200 11ms","method":"POST","requestID":"72f21ba0-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/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":"0a7d006afb80e7b573f34bb5e4a70495"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"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":"bd7f5a1e-a132-4162-8b56-e8258a7bb385"},{"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":"cea8d792-7095-4b43-a59c-5b08f08cb0d2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"09bf4e2a-ea18-4b85-9ae5-6c60d9c5ea27"}]},"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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32"},{"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/3beca582-48d0-4455-b4c2-cca371cdb8a4"}],"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.941505071Z"}]},"request_id":"99602b11-0515-4748-af15-beeb6e899ed3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7528243} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a7d006afb80e7b573f34bb5e4a70495"},"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:57924","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4? 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":"0a7d006afb80e7b573f34bb5e4a70495"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.757814,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} device-1 | {"level":"info","message":"GET /devices/3beca582-48d0-4455-b4c2-cca371cdb8a4? 200 11ms","method":"GET","requestID":"0a7d006afb80e7b573f34bb5e4a70495","responseTime":11,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} 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":"72f43e80-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8feb8b6b11b3f7bdbfe23f90fdf20d33","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672816,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454107,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwN30.8HJpdZBM70J0j9hVRX3mxlcTQ2KG9a4nEGs9NH7u1d0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8feb8b6b11b3f7bdbfe23f90fdf20d33"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"af7ca58f-d97f-436e-b24c-558af8c91cfe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7657356} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6505346d-0a60-42cf-9616-45c0458f86c3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7659223} 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":"72f43e80-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:06.989469687Z"}]},"request_id":"a2aeffa6-c961-49c9-903f-90c3a068f5b7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.7692785} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8feb8b6b11b3f7bdbfe23f90fdf20d33"},"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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32? 200 16ms","method":"GET","requestID":"8feb8b6b11b3f7bdbfe23f90fdf20d33","responseTime":16,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32? 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":"8feb8b6b11b3f7bdbfe23f90fdf20d33"} 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/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4'"} 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":"72f43e80-3d42-11ef-b841-3faa56dbb9da","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b2680e5-99af-4731-a05e-c84384d18015","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.8091233} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.442628,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","rebac_allow":false,"scope_allow":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":"72fc54d0-3d42-11ef-b841-3faa56dbb9da"},"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/3beca582-48d0-4455-b4c2-cca371cdb8a4/signaling 200 7ms","method":"POST","requestID":"72fc54d0-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d829da9-c827-4806-8717-06c0411857cc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454107.8184018} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.334838,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","rebac_allow":false,"scope_allow":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":"72fdb460-3d42-11ef-b841-3faa56dbb9da"},"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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/signaling 200 8ms","method":"POST","requestID":"72fdb460-3d42-11ef-b841-3faa56dbb9da","responseTime":8,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/signaling"} device-1 | {"data":{"peerconnection":"5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","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/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","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":"02d488cb99c8ddd33f105d009a6c629f","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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32"},{"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/3beca582-48d0-4455-b4c2-cca371cdb8a4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"02d488cb99c8ddd33f105d009a6c629f","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"02d488cb99c8ddd33f105d009a6c629f"} device-1 | {"data":{"peerconnection":"5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","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/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","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":"dd46d50f6a5b712e98f17cd8fbc82af6","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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32"},{"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/3beca582-48d0-4455-b4c2-cca371cdb8a4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:09Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4d98651-0a1c-41f5-b2e3-ff1742a2fc9e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454109.899086} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.536265,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"743aa130-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4 200 13ms","method":"GET","requestID":"743aa130-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"dd46d50f6a5b712e98f17cd8fbc82af6","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd46d50f6a5b712e98f17cd8fbc82af6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:09Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02b968e5-d95d-48f0-8f0a-bbea9e075337","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454109.9338455} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.369088,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74401f70-3d42-11ef-b841-3faa56dbb9da"},"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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/signaling 200 12ms","method":"POST","requestID":"74401f70-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:09Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86e13ae2-c60f-4fd0-883b-615b2614be2e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454109.9485028} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.803717,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74426960-3d42-11ef-b841-3faa56dbb9da"},"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/3beca582-48d0-4455-b4c2-cca371cdb8a4/signaling 200 12ms","method":"POST","requestID":"74426960-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwOX0.Aquq1sKaJyCzJeQMiPzTECg5uVAne4pQUO5jtLutVPw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"742a6aceb695e78c1e2a482ec43c1001","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f3937165-405b-401c-bbc9-44fcac5c2883"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:09Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.192452,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454109,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEwOX0.Aquq1sKaJyCzJeQMiPzTECg5uVAne4pQUO5jtLutVPw"} 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":"742a6aceb695e78c1e2a482ec43c1001"},"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/f3937165-405b-401c-bbc9-44fcac5c2883"} gateway-1 | {"time_local":"08/Jul/2024:15:55:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f3937165-405b-401c-bbc9-44fcac5c2883 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"742a6aceb695e78c1e2a482ec43c1001"} experiment-1 | {"level":"info","message":"GET /experiments/f3937165-405b-401c-bbc9-44fcac5c2883 200 14ms","method":"GET","requestID":"742a6aceb695e78c1e2a482ec43c1001","responseTime":14,"status":200,"url":"/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"683aaad865e77d2790a613587f8215d0","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f3937165-405b-401c-bbc9-44fcac5c2883"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.197514,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} 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":"683aaad865e77d2790a613587f8215d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.223382,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} 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":"744e5040-3d42-11ef-b841-3faa56dbb9da"},"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/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5aa23ad2-051f-4fc2-9ee3-458c382ac1b4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"152072ad-d300-475f-a234-f04287909942","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.042961} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f4aa076adb9eac31044a32861c4a59c5","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a49e5e26-4688-4e09-9eae-3a1bdf1929a2","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.0436623} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32"},{"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/3beca582-48d0-4455-b4c2-cca371cdb8a4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4"}}},"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":"744e5040-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d8216903a09205ebfdcf783c0c5d51e0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32"},{"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/3beca582-48d0-4455-b4c2-cca371cdb8a4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"5aa23ad2-051f-4fc2-9ee3-458c382ac1b4","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/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4 204 49ms","method":"DELETE","requestID":"744e5040-3d42-11ef-b841-3faa56dbb9da","responseTime":49,"status":204,"url":"/peerconnections/5aa23ad2-051f-4fc2-9ee3-458c382ac1b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b92cc9a-762e-409c-b495-3680608144ac","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.0996928} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.772091,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32","object_type":"device","rebac_allow":false,"scope_allow":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":"745973d0-3d42-11ef-b841-3faa56dbb9da"},"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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/signaling 200 13ms","method":"POST","requestID":"745973d0-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff3937165-405b-401c-bbc9-44fcac5c2883': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff3937165-405b-401c-bbc9-44fcac5c2883","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"9ca3b656-de01-4c66-9e84-25489ce99cbc","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.1078389} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb651e0a-3e4c-40cf-ba7f-31bcf083ec81","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.1085472} 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":"683aaad865e77d2790a613587f8215d0"},"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:57924","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3beca582-48d0-4455-b4c2-cca371cdb8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73980827-9db7-4e64-8666-40712377ee9c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.1169026} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.949477,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4","object_type":"device","rebac_allow":false,"scope_allow":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":"745c0be0-3d42-11ef-b841-3faa56dbb9da"},"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/3beca582-48d0-4455-b4c2-cca371cdb8a4/signaling 200 13ms","method":"POST","requestID":"745c0be0-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f3937165-405b-401c-bbc9-44fcac5c2883"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f3937165-405b-401c-bbc9-44fcac5c2883 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"683aaad865e77d2790a613587f8215d0"} experiment-1 | {"level":"info","message":"DELETE /experiments/f3937165-405b-401c-bbc9-44fcac5c2883 204 176ms","method":"DELETE","requestID":"683aaad865e77d2790a613587f8215d0","responseTime":176,"status":204,"url":"/experiments/f3937165-405b-401c-bbc9-44fcac5c2883"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +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.657","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2e79130c72cb8b3b232fa21262396123"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +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.667","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"45b84069a6b9e22dba27993246551d4a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"f4aa076adb9eac31044a32861c4a59c5","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4aa076adb9eac31044a32861c4a59c5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"d8216903a09205ebfdcf783c0c5d51e0","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"d8216903a09205ebfdcf783c0c5d51e0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"12b40153b17f39d67d5b5375a5f8408b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3beca582-48d0-4455-b4c2-cca371cdb8a4' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.735737,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} 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":"12b40153b17f39d67d5b5375a5f8408b"},"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/3dcb96ea-5d37-4ace-b8a3-5fd753ecda32' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"19d5f866-6059-4627-87c3-3076ca5f1ac5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.2060933} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12b40153b17f39d67d5b5375a5f8408b"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02beae6b-bb8f-4619-bc61-91bcb499dbec","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.2108884} 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":"12b40153b17f39d67d5b5375a5f8408b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"c7231783-2d6a-496d-bbf3-dadcf26f742f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.22192} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"086ec7b8-c56f-4240-beaa-f5c440c9c9a6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.2221606} 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":"12b40153b17f39d67d5b5375a5f8408b"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.221881331Z"}]},"request_id":"c0be1528-2c6a-4a95-b269-82e344efaba3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.227555} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12b40153b17f39d67d5b5375a5f8408b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12b40153b17f39d67d5b5375a5f8408b"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"12b40153b17f39d67d5b5375a5f8408b","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2089dd257e4a0ccc75d1d48033f881bf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.69388,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} 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":"2089dd257e4a0ccc75d1d48033f881bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"00ee16cd-aa2b-43e7-98a7-58081035f0a6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.255656} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2089dd257e4a0ccc75d1d48033f881bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a9d2bb0-f274-4a98-9088-1f71cb5880b1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.2606814} 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":"2089dd257e4a0ccc75d1d48033f881bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"b4b0fba2-3408-4572-a0b7-869b865ea2ae","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.2707424} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30c53f7c-ac65-484c-b6c5-efda8c19cdd5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.2710567} 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":"2089dd257e4a0ccc75d1d48033f881bf"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.270711169Z"}]},"request_id":"5a451957-a0fc-4c37-84c7-3ee00e2bedcb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.2750154} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2089dd257e4a0ccc75d1d48033f881bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"2089dd257e4a0ccc75d1d48033f881bf","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +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":"2089dd257e4a0ccc75d1d48033f881bf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"4370a8dff11e61c5cb2b56db665b2dc9","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"463787af6a055dc67cb5562031b40eb9","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.590434,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4370a8dff11e61c5cb2b56db665b2dc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.812063,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"463787af6a055dc67cb5562031b40eb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.270711169Z"}]},"request_id":"f8973d23-e8c8-4bba-87c9-177a9e7d5eed","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.7622786} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4370a8dff11e61c5cb2b56db665b2dc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.221881331Z"}]},"request_id":"701a0134-c68d-4c0a-9806-7d36722ccc74","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.7632558} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"463787af6a055dc67cb5562031b40eb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4924b4f4-9fae-415d-b09f-5c2a5def4662","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.76735} 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":"4370a8dff11e61c5cb2b56db665b2dc9"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed04c831-2e6b-45f0-962c-6aee85ac6ecb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.7687473} 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":"463787af6a055dc67cb5562031b40eb9"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.221881331Z"}]},"request_id":"b9e88f92-6e98-4b17-88fb-5fd86ab2f7e6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.772059} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"463787af6a055dc67cb5562031b40eb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14 200 20ms","method":"PATCH","requestID":"463787af6a055dc67cb5562031b40eb9","responseTime":20,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"463787af6a055dc67cb5562031b40eb9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c9f1508d8cb3c6d9a6b5db3c2f1deef","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835727,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c9f1508d8cb3c6d9a6b5db3c2f1deef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.270711169Z"}]},"request_id":"e7524fdf-08ab-4739-b02e-70d4f325c80f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.7836516} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4370a8dff11e61c5cb2b56db665b2dc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/eb1827f4-ef56-42fe-85ab-a903f3664590 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4370a8dff11e61c5cb2b56db665b2dc9"} device-1 | {"level":"info","message":"PATCH /devices/eb1827f4-ef56-42fe-85ab-a903f3664590 200 34ms","method":"PATCH","requestID":"4370a8dff11e61c5cb2b56db665b2dc9","responseTime":34,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bef74b0d50cef94af010342d1777c26a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5c9f1508d8cb3c6d9a6b5db3c2f1deef"} device-1 | {"level":"info","message":"POST /devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/websocket 200 17ms","method":"POST","requestID":"5c9f1508d8cb3c6d9a6b5db3c2f1deef","responseTime":17,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/websocket"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955488,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bef74b0d50cef94af010342d1777c26a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"device 'http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/eb1827f4-ef56-42fe-85ab-a903f3664590/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bef74b0d50cef94af010342d1777c26a"} device-1 | {"level":"info","message":"POST /devices/eb1827f4-ef56-42fe-85ab-a903f3664590/websocket 200 17ms","method":"POST","requestID":"bef74b0d50cef94af010342d1777c26a","responseTime":17,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5acf05bdbd83b4cc7e87acda9b7de8ac","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.13484,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} 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":"5acf05bdbd83b4cc7e87acda9b7de8ac"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.221881331Z"}]},"request_id":"ac460094-5c4f-40f5-89a5-a0d030e40e19","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.8413968} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5acf05bdbd83b4cc7e87acda9b7de8ac"},"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14? 200 16ms","method":"GET","requestID":"5acf05bdbd83b4cc7e87acda9b7de8ac","responseTime":16,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14? 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":"5acf05bdbd83b4cc7e87acda9b7de8ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"433b5590595e1fb0220d49b115c3847d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.029958,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"433b5590595e1fb0220d49b115c3847d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.270711169Z"}]},"request_id":"e4ba150d-4c16-426a-a383-ee229ab10d47","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.8624094} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"433b5590595e1fb0220d49b115c3847d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eb1827f4-ef56-42fe-85ab-a903f3664590? 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":"433b5590595e1fb0220d49b115c3847d"} device-1 | {"level":"info","message":"GET /devices/eb1827f4-ef56-42fe-85ab-a903f3664590? 200 14ms","method":"GET","requestID":"433b5590595e1fb0220d49b115c3847d","responseTime":14,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"709930e82b3b0a51476d6e29b464c983","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:57924","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.183064,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"709930e82b3b0a51476d6e29b464c983"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"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:57924","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109242,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74d69310-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.378944,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74d6e130-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.221881331Z"}]},"request_id":"0f6ccc64-003e-4217-83f6-aa2b28b7b3b6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.9260998} 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":"74d69310-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.270711169Z"}]},"request_id":"e99df04f-e79a-499f-8dce-e95d19f7ce08","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454110.9278333} 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":"74d6e130-3d42-11ef-b841-3faa56dbb9da"},"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14? 200 22ms","method":"GET","requestID":"74d69310-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/eb1827f4-ef56-42fe-85ab-a903f3664590? 200 21ms","method":"GET","requestID":"74d6e130-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"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/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.186818,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74e279f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22098,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} 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":"74e2c810-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"683fd274-e6fe-4b45-a269-1b080aabb18c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.0046043} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.221881331Z"}]},"request_id":"489e33e5-d011-4d36-ba85-3e3ac20e8c53","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.0074174} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.613372,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","rebac_allow":false,"scope_allow":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":"74e33d40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74e279f0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.270711169Z"}]},"request_id":"a4e23458-d819-4c4a-92b6-ae2c44d8e683","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.008968} 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":"74e2c810-3d42-11ef-b841-3faa56dbb9da"},"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling 200 20ms","method":"POST","requestID":"74e33d40-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14? 200 26ms","method":"GET","requestID":"74e279f0-3d42-11ef-b841-3faa56dbb9da","responseTime":26,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/eb1827f4-ef56-42fe-85ab-a903f3664590? 200 25ms","method":"GET","requestID":"74e2c810-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5d0924f-a366-45e6-b663-f6d27aff8759#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5d0924f-a366-45e6-b663-f6d27aff8759","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"d696cbb3-6512-4c21-9608-1cb32233c422","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.022757} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5950b84f-eae5-4b0d-857d-7c94857eb0f5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.0232382} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"709930e82b3b0a51476d6e29b464c983"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.944305,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e679a92-cfd5-4eaf-9d8e-f151d81f27bf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.0268476} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","rebac_allow":false,"scope_allow":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":"74e6bfb0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:11Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 160ms","method":"POST","requestID":"709930e82b3b0a51476d6e29b464c983","responseTime":160,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4eb8a910-a9fc-490e-8050-ce82845211bb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.031353} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.973879,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74e75bf0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"08/Jul/2024:15:55:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"709930e82b3b0a51476d6e29b464c983"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/eb1827f4-ef56-42fe-85ab-a903f3664590/signaling 200 18ms","method":"POST","requestID":"74e6bfb0-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling 200 16ms","method":"POST","requestID":"74e75bf0-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMX0.ePzfIbmOYCBO4MWGY5Ct4mzSF4oZTWDLdJwx3Jt2DBs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51c3fcdea680ea57f0f13d1fe955e391","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.047015,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454111,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMX0.ePzfIbmOYCBO4MWGY5Ct4mzSF4oZTWDLdJwx3Jt2DBs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51c3fcdea680ea57f0f13d1fe955e391"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd3dcb0f-7b00-483f-a126-7896a3e2cd80","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.0480585} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.746063,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74ea6930-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.221881331Z"}]},"request_id":"a79c3ca3-19f7-4850-9544-ddcfc7f6a0d0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.051901} device-1 | {"level":"info","message":"POST /devices/eb1827f4-ef56-42fe-85ab-a903f3664590/signaling 200 9ms","method":"POST","requestID":"74ea6930-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590/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":"51c3fcdea680ea57f0f13d1fe955e391"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"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":"d2d4d68f-4c6a-4370-bf03-65a2b2a5585f"},{"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":"b59f5f80-862c-4a99-9d58-b25896e09495"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"38100da1-e130-4689-98fb-227c186c85b5"}]},"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/eb1827f4-ef56-42fe-85ab-a903f3664590"},{"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14? 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":"51c3fcdea680ea57f0f13d1fe955e391"} device-1 | {"level":"info","message":"GET /devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14? 200 11ms","method":"GET","requestID":"51c3fcdea680ea57f0f13d1fe955e391","responseTime":11,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.72133,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:11Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMX0.ePzfIbmOYCBO4MWGY5Ct4mzSF4oZTWDLdJwx3Jt2DBs","level":"info","message":"auth send jwt"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454110,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMH0.8aLMLXDYDs8bKFmEHS2xHaHVR6xJMAH840m2e0ELhbg"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"18f6e5ea85e7f60ea934c6a5616a14a3","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"74ec3df0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706725,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454111,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExMX0.ePzfIbmOYCBO4MWGY5Ct4mzSF4oZTWDLdJwx3Jt2DBs"} 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":"18f6e5ea85e7f60ea934c6a5616a14a3"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:10.270711169Z"}]},"request_id":"c41287ca-2638-4b6f-90ca-9a9dcdb02141","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.0663843} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18f6e5ea85e7f60ea934c6a5616a14a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"df02861a-e4e7-4ba5-a184-866ad6723f21","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.0674539} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5db8f3f-916b-47f0-b31c-bfc5cff5ebd1","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.0682144} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"74ec3df0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"08/Jul/2024:15:55:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eb1827f4-ef56-42fe-85ab-a903f3664590? 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":"18f6e5ea85e7f60ea934c6a5616a14a3"} device-1 | {"level":"info","message":"GET /devices/eb1827f4-ef56-42fe-85ab-a903f3664590? 200 10ms","method":"GET","requestID":"18f6e5ea85e7f60ea934c6a5616a14a3","responseTime":10,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590?"} 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/b333120c-b246-43e7-b060-8421836b3b1d'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"74ec3df0-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ebc20ac-463f-40ef-99cd-3a7ca4f1eb8f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.1086972} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.226689,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","rebac_allow":false,"scope_allow":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":"74f3df10-3d42-11ef-b841-3faa56dbb9da"},"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling 200 7ms","method":"POST","requestID":"74f3df10-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72ab1278-7e96-4fd4-8818-a7031a7657b3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454111.1171808} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.087893,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","rebac_allow":false,"scope_allow":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":"74f51790-3d42-11ef-b841-3faa56dbb9da"},"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/eb1827f4-ef56-42fe-85ab-a903f3664590/signaling 200 7ms","method":"POST","requestID":"74f51790-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590/signaling"} device-1 | {"data":{"peerconnection":"b333120c-b246-43e7-b060-8421836b3b1d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b333120c-b246-43e7-b060-8421836b3b1d","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/b333120c-b246-43e7-b060-8421836b3b1d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b333120c-b246-43e7-b060-8421836b3b1d","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":"052f0f1a500dcdbec77982a445c3548d","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/eb1827f4-ef56-42fe-85ab-a903f3664590"},{"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"052f0f1a500dcdbec77982a445c3548d","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"052f0f1a500dcdbec77982a445c3548d"} device-1 | {"data":{"peerconnection":"b333120c-b246-43e7-b060-8421836b3b1d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b333120c-b246-43e7-b060-8421836b3b1d","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/b333120c-b246-43e7-b060-8421836b3b1d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b333120c-b246-43e7-b060-8421836b3b1d","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":"656c1452ef39fe1ad660baef72d2e98c","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590"},{"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb333120c-b246-43e7-b060-8421836b3b1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77c6f590-e022-4208-b6b2-dca9468aaa6d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.2028408} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.816541,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d","object_type":"peerconnection","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":"getPeerconnectionsByPeerconnectionId 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":"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":"763315d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"GET /peerconnections/b333120c-b246-43e7-b060-8421836b3b1d 200 11ms","method":"GET","requestID":"763315d0-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"656c1452ef39fe1ad660baef72d2e98c","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"656c1452ef39fe1ad660baef72d2e98c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9e8729d-e54f-4dee-8ce5-177c5da90c21","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.2400336} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.205657,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7638bb20-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/eb1827f4-ef56-42fe-85ab-a903f3664590/signaling 200 12ms","method":"POST","requestID":"7638bb20-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e78dd472-a4c5-4715-bf0d-cfc4e0d46bb3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.254963} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.309565,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"763b0510-3d42-11ef-b841-3faa56dbb9da"},"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling 200 11ms","method":"POST","requestID":"763b0510-3d42-11ef-b841-3faa56dbb9da","responseTime":11,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExM30.wsZ8R2MV929sxZ1QwGlwHgGzRFdtxmHgAiTR5YAvZEQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a326198304c207bdbe971f4095b331ed","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.256468,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454113,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExM30.wsZ8R2MV929sxZ1QwGlwHgGzRFdtxmHgAiTR5YAvZEQ"} 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":"a326198304c207bdbe971f4095b331ed"},"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/a5d0924f-a366-45e6-b663-f6d27aff8759"} experiment-1 | {"level":"info","message":"GET /experiments/a5d0924f-a366-45e6-b663-f6d27aff8759 200 16ms","method":"GET","requestID":"a326198304c207bdbe971f4095b331ed","responseTime":16,"status":200,"url":"/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"} gateway-1 | {"time_local":"08/Jul/2024:15:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a5d0924f-a366-45e6-b663-f6d27aff8759 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a326198304c207bdbe971f4095b331ed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExM30.wsZ8R2MV929sxZ1QwGlwHgGzRFdtxmHgAiTR5YAvZEQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"18ca0fc7c629bc002a752c753c83ba65","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.200862,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454113,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExM30.wsZ8R2MV929sxZ1QwGlwHgGzRFdtxmHgAiTR5YAvZEQ"} 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":"18ca0fc7c629bc002a752c753c83ba65"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.260766,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454113,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExM30.wsZ8R2MV929sxZ1QwGlwHgGzRFdtxmHgAiTR5YAvZEQ"} 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":"76464fb0-3d42-11ef-b841-3faa56dbb9da"},"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/b333120c-b246-43e7-b060-8421836b3b1d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b333120c-b246-43e7-b060-8421836b3b1d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb333120c-b246-43e7-b060-8421836b3b1d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb333120c-b246-43e7-b060-8421836b3b1d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"286ed51c-12b6-493b-9462-876dcbdf1b6c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.3466907} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0743bfc353729d33f406c10c46219173","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d28f0179-3b9c-45d3-a670-4a8cb834070c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.3473372} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/eb1827f4-ef56-42fe-85ab-a903f3664590"},{"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"70ad934662a9ed4be91918370a1f1b3f","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76464fb0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590"},{"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"b333120c-b246-43e7-b060-8421836b3b1d","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/b333120c-b246-43e7-b060-8421836b3b1d 204 47ms","method":"DELETE","requestID":"76464fb0-3d42-11ef-b841-3faa56dbb9da","responseTime":47,"status":204,"url":"/peerconnections/b333120c-b246-43e7-b060-8421836b3b1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb1827f4-ef56-42fe-85ab-a903f3664590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38b5478e-e8a8-4b38-b90b-f4c99151edbe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.3998353} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.871285,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb1827f4-ef56-42fe-85ab-a903f3664590","object_type":"device","rebac_allow":false,"scope_allow":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":"7650d700-3d42-11ef-b841-3faa56dbb9da"},"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/eb1827f4-ef56-42fe-85ab-a903f3664590/signaling 200 14ms","method":"POST","requestID":"7650d700-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/eb1827f4-ef56-42fe-85ab-a903f3664590/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5d0924f-a366-45e6-b663-f6d27aff8759': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5d0924f-a366-45e6-b663-f6d27aff8759","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"3ddb160e-979f-495c-830f-b71193ef58c0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.4072537} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2772980e-014c-4659-a83f-e61edc3b51d7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.4076471} 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":"18ca0fc7c629bc002a752c753c83ba65"},"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:57924","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98a96bb9-1d30-4fb8-bbe8-462b713ebf14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17e1221e-10c0-4ae6-9435-1fcd01cc817f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.4151387} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.859804,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76536f10-3d42-11ef-b841-3faa56dbb9da"},"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/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling 200 12ms","method":"POST","requestID":"76536f10-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"} gateway-1 | {"time_local":"08/Jul/2024:15:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a5d0924f-a366-45e6-b663-f6d27aff8759 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":"18ca0fc7c629bc002a752c753c83ba65"} gateway-1 | {"time_local":"08/Jul/2024:15:55:13 +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.666","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2c4d9be114d784cb4d4540739fd2b87d"} experiment-1 | {"level":"info","message":"DELETE /experiments/a5d0924f-a366-45e6-b663-f6d27aff8759 204 170ms","method":"DELETE","requestID":"18ca0fc7c629bc002a752c753c83ba65","responseTime":170,"status":204,"url":"/experiments/a5d0924f-a366-45e6-b663-f6d27aff8759"} gateway-1 | {"time_local":"08/Jul/2024:15:55:13 +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.680","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fbdd069dbecdc83531079430698fbd2d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"0743bfc353729d33f406c10c46219173","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"0743bfc353729d33f406c10c46219173"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"70ad934662a9ed4be91918370a1f1b3f","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"70ad934662a9ed4be91918370a1f1b3f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExM30.wsZ8R2MV929sxZ1QwGlwHgGzRFdtxmHgAiTR5YAvZEQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7c2d9fac167691cc21ca8538c3c44186","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/98a96bb9-1d30-4fb8-bbe8-462b713ebf14' closed"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.016073,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454113,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExM30.wsZ8R2MV929sxZ1QwGlwHgGzRFdtxmHgAiTR5YAvZEQ"} 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":"7c2d9fac167691cc21ca8538c3c44186"},"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/eb1827f4-ef56-42fe-85ab-a903f3664590' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4925dda8-438d-4793-a03e-2a3d9db2c470","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.5080082} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c2d9fac167691cc21ca8538c3c44186"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"703a7a7c-caaf-4885-bfcd-397846fce64b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.5135124} 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":"7c2d9fac167691cc21ca8538c3c44186"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"21a485d5-e256-4e58-a089-efd0b270143f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.523687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13115428-123f-494d-a711-e90bc26e135c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.523904} 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":"7c2d9fac167691cc21ca8538c3c44186"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.523653279Z"}]},"request_id":"39214f55-e852-4c5f-a7cf-a2956291ae8e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.529253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c2d9fac167691cc21ca8538c3c44186"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c2d9fac167691cc21ca8538c3c44186"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"7c2d9fac167691cc21ca8538c3c44186","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExM30.wsZ8R2MV929sxZ1QwGlwHgGzRFdtxmHgAiTR5YAvZEQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"80870020a4366cfab4204577d066d3dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.819537,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454113,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExM30.wsZ8R2MV929sxZ1QwGlwHgGzRFdtxmHgAiTR5YAvZEQ"} 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":"80870020a4366cfab4204577d066d3dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2b176bab-a003-473b-998e-0c3308234e21","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.558879} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80870020a4366cfab4204577d066d3dc"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"949ef469-1d93-45e3-98f8-887a60898d4e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.563792} 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":"80870020a4366cfab4204577d066d3dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"b7366385-2cf6-4986-908b-a5d0af8a773e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.5749881} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36290f46-67c6-4b81-aa44-1307fc1a3f42","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.5751927} 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":"80870020a4366cfab4204577d066d3dc"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.574947480Z"}]},"request_id":"02031530-46e7-40be-8bca-f56a5009a85b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454113.579678} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80870020a4366cfab4204577d066d3dc"},"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":"80870020a4366cfab4204577d066d3dc","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80870020a4366cfab4204577d066d3dc"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"83386b7fb96ad5da0d66a28d2f0b03ca","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"83386b7fb96ad5da0d66a28d2f0b03ca"} device-1 | {"level":"info","message":"OPTIONS /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/websocket 200 1ms","method":"OPTIONS","requestID":"83386b7fb96ad5da0d66a28d2f0b03ca","responseTime":1,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5f11d86a314f21d6348340abf7d465fd","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.363443,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f11d86a314f21d6348340abf7d465fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fda03a3f979df1d029fdf10d58071362","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/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":"fda03a3f979df1d029fdf10d58071362"} device-1 | {"level":"info","message":"OPTIONS /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/websocket 200 1ms","method":"OPTIONS","requestID":"fda03a3f979df1d029fdf10d58071362","responseTime":1,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5f11d86a314f21d6348340abf7d465fd"} device-1 | {"level":"info","message":"POST /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/websocket 200 21ms","method":"POST","requestID":"5f11d86a314f21d6348340abf7d465fd","responseTime":21,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5c443a5e3dc92196b5eab0439f9daa20","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887207,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c443a5e3dc92196b5eab0439f9daa20"},"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/2d11bcb5-7151-4944-9382-8300d3c6bb40/websocket 200 13ms","method":"POST","requestID":"5c443a5e3dc92196b5eab0439f9daa20","responseTime":13,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5c443a5e3dc92196b5eab0439f9daa20"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"578fd3f13c5110d84aca2862c12e38d4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.144991,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"578fd3f13c5110d84aca2862c12e38d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.523653279Z"}]},"request_id":"4aabff28-fc00-4ef4-af4d-6c75d7120638","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.6201997} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"578fd3f13c5110d84aca2862c12e38d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7? 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":"578fd3f13c5110d84aca2862c12e38d4"} device-1 | {"level":"info","message":"GET /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7? 200 16ms","method":"GET","requestID":"578fd3f13c5110d84aca2862c12e38d4","responseTime":16,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"59cc2c257a9615ea9e877a4ce19c3230","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.352059,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59cc2c257a9615ea9e877a4ce19c3230"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.574947480Z"}]},"request_id":"5e50d9b2-7113-4a5a-a218-10641c946a07","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.6450658} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59cc2c257a9615ea9e877a4ce19c3230"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59cc2c257a9615ea9e877a4ce19c3230"} device-1 | {"level":"info","message":"GET /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40? 200 16ms","method":"GET","requestID":"59cc2c257a9615ea9e877a4ce19c3230","responseTime":16,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"641a347b292e8b82f3c68216fb3fdda9","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.831774,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} 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":"641a347b292e8b82f3c68216fb3fdda9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"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:57924","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19031,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77b0b520-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.344395,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77b10340-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.523653279Z"}]},"request_id":"b8849161-42b4-4f25-9099-ff7bf7f5ae1c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.7091715} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77b0b520-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.574947480Z"}]},"request_id":"3feae9e3-a8be-406c-8f5e-b9ea95d6a965","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.7098103} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77b10340-3d42-11ef-b841-3faa56dbb9da"},"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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7? 200 18ms","method":"GET","requestID":"77b0b520-3d42-11ef-b841-3faa56dbb9da","responseTime":18,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40? 200 17ms","method":"GET","requestID":"77b10340-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"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:57924","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.876212,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} 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":"77bb3c70-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88403,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} 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":"77bb8a90-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.523653279Z"}]},"request_id":"4bd19d28-a09f-4a55-b437-8227fcff0c9c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.7806811} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.574947480Z"}]},"request_id":"e1839e4c-d8a1-4683-a3a7-30c1633fe6a3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.7818787} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77bb3c70-3d42-11ef-b841-3faa56dbb9da"},"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:50276","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77bb8a90-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5a41a89-2033-45f4-aae6-6e38480595fd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.7844443} authorization-1 | {"client_addr":"127.0.0.1:50276","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.277568,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77bbb1a0-3d42-11ef-b841-3faa56dbb9da"},"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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7? 200 23ms","method":"GET","requestID":"77bb3c70-3d42-11ef-b841-3faa56dbb9da","responseTime":23,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40? 200 22ms","method":"GET","requestID":"77bb8a90-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a36db69-8611-4769-9efb-f26c4abd74d7#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a36db69-8611-4769-9efb-f26c4abd74d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"a8b219c3-012a-46b2-b8ce-990560b2065d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.7941928} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27d8b9af-0896-4a21-850c-0feee5931e0d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.7944021} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling 200 26ms","method":"POST","requestID":"77bbb1a0-3d42-11ef-b841-3faa56dbb9da","responseTime":26,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling"} 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":"641a347b292e8b82f3c68216fb3fdda9"},"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:57924","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74d07cbc-c7db-4484-9b65-f61b48391a31","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.8028603} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.095599,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","rebac_allow":false,"scope_allow":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":"77bf3410-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95d03ee8-388d-477e-9a33-c0703c05c313","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.8083482} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.468801,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","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"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"641a347b292e8b82f3c68216fb3fdda9","responseTime":150,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77c04580-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"641a347b292e8b82f3c68216fb3fdda9"} device-1 | {"level":"info","message":"POST /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling 200 17ms","method":"POST","requestID":"77bf3410-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a4aec5b26f619a2bfe03ad2fc9f1e840","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} device-1 | {"level":"info","message":"POST /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling 200 16ms","method":"POST","requestID":"77c04580-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c22eeab-0532-4ddd-bebe-f5cec8cae756","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.81895} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.3289,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77c24150-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673866,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4aec5b26f619a2bfe03ad2fc9f1e840"},"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/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling 200 12ms","method":"POST","requestID":"77c24150-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1ccce92c-91f1-4b43-8594-08ec75877cb0"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"66590522-2ffc-49b5-986a-71f569ffee26"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3a8048b2-d0d6-4519-9f01-bc795d126f5d"}]},"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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.523653279Z"}]},"request_id":"260bf976-ef1e-489a-b2aa-936cc2f28129","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.8300877} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4aec5b26f619a2bfe03ad2fc9f1e840"},"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:57924","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.815079,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} 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":"77c48b40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7? 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":"a4aec5b26f619a2bfe03ad2fc9f1e840"} device-1 | {"level":"info","message":"GET /devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7? 200 17ms","method":"GET","requestID":"a4aec5b26f619a2bfe03ad2fc9f1e840","responseTime":17,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE","level":"info","message":"auth send jwt"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"c1bef6af-9fcc-4641-9ea7-983b2441d63c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.8401608} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d394f441-2d26-44ae-b428-498ab012af0b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.840412} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"186d84a8a8abf801d37a7a4ad2955b00","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"77c48b40-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822199,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454115,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNX0.AJRPIQuRa0bhJpUP9msbbZ4Az26BJTgU14KLaxbJJHE"} 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":"186d84a8a8abf801d37a7a4ad2955b00"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:13.574947480Z"}]},"request_id":"2a50dc54-bc6d-405a-8a7d-60303ba7e102","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.8491259} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"186d84a8a8abf801d37a7a4ad2955b00"},"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/eaff70d6-e054-4928-9bb8-78256c09fa5b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b'"} 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":"77c48b40-3d42-11ef-b841-3faa56dbb9da","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40? 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":"186d84a8a8abf801d37a7a4ad2955b00"} device-1 | {"level":"info","message":"GET /devices/2d11bcb5-7151-4944-9382-8300d3c6bb40? 200 16ms","method":"GET","requestID":"186d84a8a8abf801d37a7a4ad2955b00","responseTime":16,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ded22f7-e95d-4af7-8edb-7e8960f05a62","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.884774} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.080313,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","rebac_allow":false,"scope_allow":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":"77cca190-3d42-11ef-b841-3faa56dbb9da"},"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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling 200 7ms","method":"POST","requestID":"77cca190-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0bdf294d-0938-461f-84aa-9838e49325b5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.8934247} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.152735,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","object_type":"device","rebac_allow":false,"scope_allow":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":"77cdda10-3d42-11ef-b841-3faa56dbb9da"},"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/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling 200 7ms","method":"POST","requestID":"77cdda10-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eaff70d6-e054-4928-9bb8-78256c09fa5b","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":"d7cc6a34ad01fe5670d2de0ec39ed5ec","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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"d7cc6a34ad01fe5670d2de0ec39ed5ec","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"d7cc6a34ad01fe5670d2de0ec39ed5ec"} device-1 | {"data":{"peerconnection":"eaff70d6-e054-4928-9bb8-78256c09fa5b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"eaff70d6-e054-4928-9bb8-78256c09fa5b","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/eaff70d6-e054-4928-9bb8-78256c09fa5b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eaff70d6-e054-4928-9bb8-78256c09fa5b","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":"4b97aaaba60e9fd239ff11111e921672","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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feaff70d6-e054-4928-9bb8-78256c09fa5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"266e32b9-059b-476f-af2e-97396de82afb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.9734604} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.024398,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77da0f10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b 200 7ms","method":"GET","requestID":"77da0f10-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"4b97aaaba60e9fd239ff11111e921672","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b97aaaba60e9fd239ff11111e921672"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:15Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"937afcb0-48f5-482a-8c16-b7c076b26a38","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454115.9994926} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.022961,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","rebac_allow":false,"scope_allow":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":"77de06b0-3d42-11ef-b841-3faa56dbb9da"},"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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling 200 9ms","method":"POST","requestID":"77de06b0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7fc00f53-b8c6-4951-8d08-070dac852081","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.0095994} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.440611,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","object_type":"device","rebac_allow":false,"scope_allow":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":"77dfb460-3d42-11ef-b841-3faa56dbb9da"},"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/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling 200 7ms","method":"POST","requestID":"77dfb460-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNn0.6tIYdcydb_-k4rk9DnPdUtf9a29jUAwHoo-z5S1E1cc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53fb967dbcfe811d0493436d5c71b39b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.676257,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454116,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNn0.6tIYdcydb_-k4rk9DnPdUtf9a29jUAwHoo-z5S1E1cc"} 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":"53fb967dbcfe811d0493436d5c71b39b"},"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/5a36db69-8611-4769-9efb-f26c4abd74d7"} gateway-1 | {"time_local":"08/Jul/2024:15:55:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5a36db69-8611-4769-9efb-f26c4abd74d7 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":"53fb967dbcfe811d0493436d5c71b39b"} experiment-1 | {"level":"info","message":"GET /experiments/5a36db69-8611-4769-9efb-f26c4abd74d7 200 10ms","method":"GET","requestID":"53fb967dbcfe811d0493436d5c71b39b","responseTime":10,"status":200,"url":"/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNn0.6tIYdcydb_-k4rk9DnPdUtf9a29jUAwHoo-z5S1E1cc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"748d9185aa7064fe7d3dd0334951b697","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.917118,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454116,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNn0.6tIYdcydb_-k4rk9DnPdUtf9a29jUAwHoo-z5S1E1cc"} 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":"748d9185aa7064fe7d3dd0334951b697"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.660991,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454116,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNn0.6tIYdcydb_-k4rk9DnPdUtf9a29jUAwHoo-z5S1E1cc"} 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":"77ea3bb0-3d42-11ef-b841-3faa56dbb9da"},"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/eaff70d6-e054-4928-9bb8-78256c09fa5b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eaff70d6-e054-4928-9bb8-78256c09fa5b","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 0ms","method":"GET","requestID":"73cd519397a8a734b87ec83ce34d203f","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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feaff70d6-e054-4928-9bb8-78256c09fa5b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feaff70d6-e054-4928-9bb8-78256c09fa5b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"7d4aa6fe-87d2-44e6-96b5-0d0b08efa298","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.0893867} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c7a70fde0077506582cd92b88c1ad2e4","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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"293094b8-aa3a-4b91-a37c-252f167fb9b0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.0897198} 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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b"}}},"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":"77ea3bb0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b 204 34ms","method":"DELETE","requestID":"77ea3bb0-3d42-11ef-b841-3faa56dbb9da","responseTime":34,"status":204,"url":"/peerconnections/eaff70d6-e054-4928-9bb8-78256c09fa5b"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb5cca38-b00f-4652-a183-3b1081784e95","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.1334991} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.825856,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77f25200-3d42-11ef-b841-3faa56dbb9da"},"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/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling 200 9ms","method":"POST","requestID":"77f25200-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a36db69-8611-4769-9efb-f26c4abd74d7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a36db69-8611-4769-9efb-f26c4abd74d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"557c16bb-2b5a-46a6-b3aa-df1dbce83573","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.145865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"781ad5aa-3cb8-4d21-b01d-81aa60651e5e","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.1462085} 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":"748d9185aa7064fe7d3dd0334951b697"},"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:57924","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d11bcb5-7151-4944-9382-8300d3c6bb40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0203ce6f-d0ed-45cd-b47e-fc203afd3ee6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.149114} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.281305,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77f426c0-3d42-11ef-b841-3faa56dbb9da"},"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/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling 200 13ms","method":"POST","requestID":"77f426c0-3d42-11ef-b841-3faa56dbb9da","responseTime":13,"status":200,"url":"/devices/2d11bcb5-7151-4944-9382-8300d3c6bb40/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"} gateway-1 | {"time_local":"08/Jul/2024:15:55:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5a36db69-8611-4769-9efb-f26c4abd74d7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"748d9185aa7064fe7d3dd0334951b697"} experiment-1 | {"level":"info","message":"DELETE /experiments/5a36db69-8611-4769-9efb-f26c4abd74d7 204 147ms","method":"DELETE","requestID":"748d9185aa7064fe7d3dd0334951b697","responseTime":147,"status":204,"url":"/experiments/5a36db69-8611-4769-9efb-f26c4abd74d7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"73cd519397a8a734b87ec83ce34d203f","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:16 +0000","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":"73cd519397a8a734b87ec83ce34d203f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"c7a70fde0077506582cd92b88c1ad2e4","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:16 +0000","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":"c7a70fde0077506582cd92b88c1ad2e4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNn0.6tIYdcydb_-k4rk9DnPdUtf9a29jUAwHoo-z5S1E1cc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b6fb3b7afb7cba3f87b086ea6b01ddf5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:15:55:16 +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.647","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0851d69b812507247e88c966ab57769b"} gateway-1 | {"time_local":"08/Jul/2024:15:55:16 +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.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":"98ce7e39551640933cfbe0c7991b9d54"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.870013,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454116,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNn0.6tIYdcydb_-k4rk9DnPdUtf9a29jUAwHoo-z5S1E1cc"} 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":"b6fb3b7afb7cba3f87b086ea6b01ddf5"},"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/2d11bcb5-7151-4944-9382-8300d3c6bb40' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c7f8df9b-eef6-4fcc-a0a1-d55276dc67e7' 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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55ce9d3f-a3db-4be6-861a-902a56cacca3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2587507d-b1c4-43dc-a64d-b2f0977e6ef4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.2433467} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6fb3b7afb7cba3f87b086ea6b01ddf5"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b040e04-752b-40c5-904c-88534ed95b58","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.2469897} 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":"b6fb3b7afb7cba3f87b086ea6b01ddf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55ce9d3f-a3db-4be6-861a-902a56cacca3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"a3d223f1-81cf-4d07-92b1-1fbec282642c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.2572818} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73d84547-8c1e-4c9f-abd8-1cded9922525","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.2574685} 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":"b6fb3b7afb7cba3f87b086ea6b01ddf5"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55ce9d3f-a3db-4be6-861a-902a56cacca3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55ce9d3f-a3db-4be6-861a-902a56cacca3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:16.257243817Z"}]},"request_id":"cb4edbc2-e6b7-4d5e-b569-35de800511bd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.260806} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6fb3b7afb7cba3f87b086ea6b01ddf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"b6fb3b7afb7cba3f87b086ea6b01ddf5","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6fb3b7afb7cba3f87b086ea6b01ddf5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNn0.6tIYdcydb_-k4rk9DnPdUtf9a29jUAwHoo-z5S1E1cc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ce41fd6c5896bf27477dd940f91e224e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.723448,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454116,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExNn0.6tIYdcydb_-k4rk9DnPdUtf9a29jUAwHoo-z5S1E1cc"} 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":"ce41fd6c5896bf27477dd940f91e224e"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0767b1b0-9d29-4c19-9e5f-8cf858422e85","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.2831376} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce41fd6c5896bf27477dd940f91e224e"},"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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07e4a84a-bbd1-40ac-90b9-e7db5814e4fe","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.2872353} 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":"ce41fd6c5896bf27477dd940f91e224e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"eadb438c-0f64-406c-b339-dff080c5fa05","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.295235} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fcc3bcf-4065-43dd-a293-e816b6a39970","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.2953494} 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":"ce41fd6c5896bf27477dd940f91e224e"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:16.295204841Z"}]},"request_id":"a9ab8d12-5ef9-4f6b-ba18-e99eb0b3346b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454116.2990308} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce41fd6c5896bf27477dd940f91e224e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce41fd6c5896bf27477dd940f91e224e"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"ce41fd6c5896bf27477dd940f91e224e","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":"e9f6758f7a6e9f884c4e65378c257dfc","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f8b3bd7c-a515-4f57-b04f-65835384350e/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":"e9f6758f7a6e9f884c4e65378c257dfc"} device-1 | {"level":"info","message":"OPTIONS /devices/f8b3bd7c-a515-4f57-b04f-65835384350e/websocket 200 1ms","method":"OPTIONS","requestID":"e9f6758f7a6e9f884c4e65378c257dfc","responseTime":1,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3204d86f458fe813638b633d20bb7a43","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.222654,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3204d86f458fe813638b633d20bb7a43"},"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/f8b3bd7c-a515-4f57-b04f-65835384350e/websocket 200 22ms","method":"POST","requestID":"3204d86f458fe813638b633d20bb7a43","responseTime":22,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e/websocket"} gateway-1 | {"time_local":"08/Jul/2024:15:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f8b3bd7c-a515-4f57-b04f-65835384350e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3204d86f458fe813638b633d20bb7a43"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8350b2ccebe2ca947253a88351bb343a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.312166,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8350b2ccebe2ca947253a88351bb343a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:16.295204841Z"}]},"request_id":"300f05af-8603-428a-8d68-7b6fafe8d64f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.3955064} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8350b2ccebe2ca947253a88351bb343a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8b3bd7c-a515-4f57-b04f-65835384350e? 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":"8350b2ccebe2ca947253a88351bb343a"} device-1 | {"level":"info","message":"GET /devices/f8b3bd7c-a515-4f57-b04f-65835384350e? 200 16ms","method":"GET","requestID":"8350b2ccebe2ca947253a88351bb343a","responseTime":16,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74feb5189c1a955197d8eadf725dfd88","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:57924","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.286613,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74feb5189c1a955197d8eadf725dfd88"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"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:57924","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.838666,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/55ce9d3f-a3db-4be6-861a-902a56cacca3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/55ce9d3f-a3db-4be6-861a-902a56cacca3","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7954c830-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172159,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79551650-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55ce9d3f-a3db-4be6-861a-902a56cacca3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55ce9d3f-a3db-4be6-861a-902a56cacca3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:16.257243817Z"}]},"request_id":"6e45a743-b145-40e9-9360-97e87bf958f5","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.4652174} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7954c830-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:16.295204841Z"}]},"request_id":"44fd0da0-b2c1-498c-9edd-6189ca6ac316","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.466635} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79551650-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/55ce9d3f-a3db-4be6-861a-902a56cacca3? 200 22ms","method":"GET","requestID":"7954c830-3d42-11ef-b841-3faa56dbb9da","responseTime":22,"status":200,"url":"/devices/55ce9d3f-a3db-4be6-861a-902a56cacca3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f8b3bd7c-a515-4f57-b04f-65835384350e? 200 21ms","method":"GET","requestID":"79551650-3d42-11ef-b841-3faa56dbb9da","responseTime":21,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232902,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/55ce9d3f-a3db-4be6-861a-902a56cacca3","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/55ce9d3f-a3db-4be6-861a-902a56cacca3","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} 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":"795b30d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"cc63ede5-be07-442a-8505-1523411f6a91","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.53346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf8652de-ad87-4f5e-856b-b98029fe5c51","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.5335982} 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":"795b30d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 19ms","method":"POST","requestID":"7962aae0-3d42-11ef-a9b4-9f2663379e01","responseTime":19,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/55ce9d3f-a3db-4be6-861a-902a56cacca3?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 74ms","method":"POST","requestID":"795b30d0-3d42-11ef-b841-3faa56dbb9da","responseTime":74,"status":201,"url":"/devices/55ce9d3f-a3db-4be6-861a-902a56cacca3?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"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:57924","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.802722,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.75671,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:50276","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} 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":"796c47d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50276","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.165863,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} 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":"796cbd00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d672a48-4006-489e-b49b-46c869ac0f48","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.6177735} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","rebac_allow":false,"scope_allow":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":"796d3230-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:18.533421213Z"}]},"request_id":"7e439230-c5fe-4fc2-a198-701f2feda87c","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.6246293} 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":"796c47d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device e29a115d-7f02-4cd8-bd1f-1fee5311c8e7\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/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"796d3230-3d42-11ef-b841-3faa56dbb9da"} device-1 | {"level":"info","message":"POST /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling 404 20ms","method":"POST","requestID":"796d3230-3d42-11ef-b841-3faa56dbb9da","responseTime":20,"status":404,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device e29a115d-7f02-4cd8-bd1f-1fee5311c8e7"},"status":404}},"level":"error","message":"Could not send status-update message"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:16.295204841Z"}]},"request_id":"dc6e2873-15ff-47cc-88ab-4b284c6d59da","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.6281238} 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":"796cbd00-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff65aca14-df29-4ed8-a45f-9b2bfe932f37#owner@http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff65aca14-df29-4ed8-a45f-9b2bfe932f37","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"ceccd670-9704-429c-8463-8f477f6f0daf","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.6336207} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c30d53e9-24d9-450d-a24a-4172cff9ba12","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.6338718} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74feb5189c1a955197d8eadf725dfd88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:18Z"} device-1 | {"level":"info","message":"GET /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7? 200 34ms","method":"GET","requestID":"796c47d0-3d42-11ef-b841-3faa56dbb9da","responseTime":34,"status":200,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f8b3bd7c-a515-4f57-b04f-65835384350e? 200 34ms","method":"GET","requestID":"796cbd00-3d42-11ef-b841-3faa56dbb9da","responseTime":34,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e?"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"737be9e7-7910-4a23-a20a-a060aff9d1c7","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454118.6424043} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.472083,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7970dbb0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37","user":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:15:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.243","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74feb5189c1a955197d8eadf725dfd88"} experiment-1 | {"level":"info","message":"POST /experiments? 201 237ms","method":"POST","requestID":"74feb5189c1a955197d8eadf725dfd88","responseTime":237,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f8b3bd7c-a515-4f57-b04f-65835384350e/signaling 200 12ms","method":"POST","requestID":"7970dbb0-3d42-11ef-b841-3faa56dbb9da","responseTime":12,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e/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 2ms","method":"GET","requestID":"12697384c0c85a5b9fb21abcecd1b915","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:15:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"12697384c0c85a5b9fb21abcecd1b915"} device-1 | {"level":"info","message":"OPTIONS /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/websocket 200 1ms","method":"OPTIONS","requestID":"12697384c0c85a5b9fb21abcecd1b915","responseTime":1,"status":200,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IjBjWU83ZjdTMzdPYnIzVjc5bHBXVWgzM2g4QjZlc1B4eTFJSjhmVWk5ei1aVEdVc1ZBOVo0WHdPTzZqSUFvWXJtUDhzZmZHUDlhTFJBN3dBODdpSW1nIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyMH0.wmvOJwaNTu42KJNy27W37KfSDhBub07j4shgj5_KfZQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5a62d9e0926b1a9fec6067b941d87409","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.286033,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","payload":{"admin":true,"edgeToken":"0cYO7f7S37Obr3V79lpWUh33h8B6esPxy1IJ8fUi9z-ZTGUsVA9Z4XwOO6jIAoYrmP8sffGP9aLRA7wA87iImg","iat":1720454120,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IjBjWU83ZjdTMzdPYnIzVjc5bHBXVWgzM2g4QjZlc1B4eTFJSjhmVWk5ei1aVEdVc1ZBOVo0WHdPTzZqSUFvWXJtUDhzZmZHUDlhTFJBN3dBODdpSW1nIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyMH0.wmvOJwaNTu42KJNy27W37KfSDhBub07j4shgj5_KfZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a62d9e0926b1a9fec6067b941d87409"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/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":"5a62d9e0926b1a9fec6067b941d87409"} device-1 | {"level":"info","message":"POST /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/websocket 200 21ms","method":"POST","requestID":"5a62d9e0926b1a9fec6067b941d87409","responseTime":21,"status":200,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7' 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":"7625708e42e4f007b446175a8e4a8693","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/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyMH0.wj5r-5L9CmyWatCXZNZGtXOwbu7NTzw7V7GV8UHrREo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"48e892bafcb7ccdd865c21c38647dfd4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254729,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454120,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyMH0.wj5r-5L9CmyWatCXZNZGtXOwbu7NTzw7V7GV8UHrREo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48e892bafcb7ccdd865c21c38647dfd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:18.533421213Z"}]},"request_id":"19c8df75-8721-494c-ae58-ff4bfa5a42c0","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454120.7515557} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48e892bafcb7ccdd865c21c38647dfd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 19ms","method":"POST","requestID":"7625708e42e4f007b446175a8e4a8693","responseTime":19,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7? 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":"48e892bafcb7ccdd865c21c38647dfd4"} device-1 | {"level":"info","message":"GET /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7? 200 17ms","method":"GET","requestID":"48e892bafcb7ccdd865c21c38647dfd4","responseTime":17,"status":200,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7?"} gateway-1 | {"time_local":"08/Jul/2024:15:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch","requestID":"7625708e42e4f007b446175a8e4a8693"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyMH0.wj5r-5L9CmyWatCXZNZGtXOwbu7NTzw7V7GV8UHrREo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d1a7c0056ff354da63c95cdcd1514678","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.145601,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454120,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyMH0.wj5r-5L9CmyWatCXZNZGtXOwbu7NTzw7V7GV8UHrREo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1a7c0056ff354da63c95cdcd1514678"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:16.295204841Z"}]},"request_id":"1e6c1b56-af4a-49c5-80a0-25a1121706a3","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454120.7725856} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1a7c0056ff354da63c95cdcd1514678"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:15:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8b3bd7c-a515-4f57-b04f-65835384350e? 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":"d1a7c0056ff354da63c95cdcd1514678"} device-1 | {"level":"info","message":"GET /devices/f8b3bd7c-a515-4f57-b04f-65835384350e? 200 15ms","method":"GET","requestID":"d1a7c0056ff354da63c95cdcd1514678","responseTime":15,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:57924","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240789,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c6def10-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:16.295204841Z"}]},"request_id":"fdbcf8de-cfe9-4fb8-96ea-030f43c5a367","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454123.6606865} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c6def10-3d42-11ef-b841-3faa56dbb9da"},"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/f8b3bd7c-a515-4f57-b04f-65835384350e? 200 17ms","method":"GET","requestID":"7c6def10-3d42-11ef-b841-3faa56dbb9da","responseTime":17,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.550092,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} 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":"7f69a2e0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:53772","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:53772","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.362246,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} 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":"7f6a1810-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:18.533421213Z"}]},"request_id":"d94b3f2d-e81e-4844-96b0-00c33a8d711f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.672278} 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":"7f69a2e0-3d42-11ef-b841-3faa56dbb9da"},"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:47278","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"timestamp":"2024-07-08T15:55:16.295204841Z"}]},"request_id":"31faadcd-6cef-43b3-ba84-801e351038dd","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.6736486} 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":"7f6a1810-3d42-11ef-b841-3faa56dbb9da"},"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/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7? 200 27ms","method":"GET","requestID":"7f69a2e0-3d42-11ef-b841-3faa56dbb9da","responseTime":27,"status":200,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f8b3bd7c-a515-4f57-b04f-65835384350e? 200 25ms","method":"GET","requestID":"7f6a1810-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6bb7c43-b812-4a87-b555-32d5d7e36d1d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.6936824} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.917954,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","rebac_allow":false,"scope_allow":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":"7f6e5dd0-3d42-11ef-b841-3faa56dbb9da"},"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/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling 200 16ms","method":"POST","requestID":"7f6e5dd0-3d42-11ef-b841-3faa56dbb9da","responseTime":16,"status":200,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b924f2b-0386-4232-a2ef-dbd8a1e95dfb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.712143} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.826684,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","rebac_allow":false,"scope_allow":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":"7f716b10-3d42-11ef-b841-3faa56dbb9da"},"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/f8b3bd7c-a515-4f57-b04f-65835384350e/signaling 200 14ms","method":"POST","requestID":"7f716b10-3d42-11ef-b841-3faa56dbb9da","responseTime":14,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"d4857e6f-0f9b-4f1c-9f76-c8b909f76e6d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"997c713e-657c-4d66-b7d6-4c06e645a5b3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9161fa7a-b10e-44af-9520-8424729c6231"}]},"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/f8b3bd7c-a515-4f57-b04f-65835384350e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.251285,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454118,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDExOH0.UsQ_cry7gSaE95kKsRZrmCniLX7nn_LrjgImZ1q5eGE"} 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":"7f742a30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","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%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]}},"raw_response":{},"request_id":"1236cfdb-83be-4f18-81c7-05561ec86a9a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.7407126} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b0162c0-2081-4134-b15b-a37c30b11eeb","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.7412632} 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":"7f742a30-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f'"} 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":"7f742a30-3d42-11ef-b841-3faa56dbb9da","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/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6181df0b-eb0f-411d-81d3-f037642bb513","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.8005512} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.650092,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","rebac_allow":false,"scope_allow":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":"7f7effa0-3d42-11ef-b841-3faa56dbb9da"},"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/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling 200 10ms","method":"POST","requestID":"7f7effa0-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1071bbab-7484-451d-a2fe-96427f0ce33b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.8121421} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.92398,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f80fb70-3d42-11ef-b841-3faa56dbb9da"},"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/f8b3bd7c-a515-4f57-b04f-65835384350e/signaling 200 10ms","method":"POST","requestID":"7f80fb70-3d42-11ef-b841-3faa56dbb9da","responseTime":10,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f9bc63f5-e5b2-47c9-943a-bd6982c1306f","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":"80b69aa8eead707c147a8bdf568e9e3d","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/f8b3bd7c-a515-4f57-b04f-65835384350e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"80b69aa8eead707c147a8bdf568e9e3d","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"80b69aa8eead707c147a8bdf568e9e3d"} device-1 | {"data":{"peerconnection":"f9bc63f5-e5b2-47c9-943a-bd6982c1306f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f9bc63f5-e5b2-47c9-943a-bd6982c1306f","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/f9bc63f5-e5b2-47c9-943a-bd6982c1306f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f9bc63f5-e5b2-47c9-943a-bd6982c1306f","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":"65629f072fb81267d3277957de8e22b7","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/f8b3bd7c-a515-4f57-b04f-65835384350e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff9bc63f5-e5b2-47c9-943a-bd6982c1306f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5deb28f-4d4f-4efd-8c45-a6150a922874","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.8803682} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.009214,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f","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":"7f8b82c0-3d42-11ef-b841-3faa56dbb9da"},"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/f9bc63f5-e5b2-47c9-943a-bd6982c1306f 200 7ms","method":"GET","requestID":"7f8b82c0-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"65629f072fb81267d3277957de8e22b7","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"65629f072fb81267d3277957de8e22b7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f862269-373d-48d7-8ea1-efce3fa902da","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.907066} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.995508,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","rebac_allow":false,"scope_allow":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":"7f8fa170-3d42-11ef-b841-3faa56dbb9da"},"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/f8b3bd7c-a515-4f57-b04f-65835384350e/signaling 200 7ms","method":"POST","requestID":"7f8fa170-3d42-11ef-b841-3faa56dbb9da","responseTime":7,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e37667a-d219-4e52-9517-283c05b8ff1b","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.9171498} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.742576,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f910100-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling 200 8ms","method":"POST","requestID":"7f910100-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyOH0.IFA75f2tB1-sRvO5O6VQ8N8ks__kir5w4RxLbRhi6Wk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2a991d34c9d0cb3b2eba57805e28bede","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.678333,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454128,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyOH0.IFA75f2tB1-sRvO5O6VQ8N8ks__kir5w4RxLbRhi6Wk"} 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":"2a991d34c9d0cb3b2eba57805e28bede"},"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/f65aca14-df29-4ed8-a45f-9b2bfe932f37"} gateway-1 | {"time_local":"08/Jul/2024:15:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a991d34c9d0cb3b2eba57805e28bede"} experiment-1 | {"level":"info","message":"GET /experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37 200 12ms","method":"GET","requestID":"2a991d34c9d0cb3b2eba57805e28bede","responseTime":12,"status":200,"url":"/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyOH0.IFA75f2tB1-sRvO5O6VQ8N8ks__kir5w4RxLbRhi6Wk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fb929a195cb4ff50f418a14d1b8e4212","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.699447,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"experiment:http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37","object_type":"experiment","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454128,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyOH0.IFA75f2tB1-sRvO5O6VQ8N8ks__kir5w4RxLbRhi6Wk"} 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":"fb929a195cb4ff50f418a14d1b8e4212"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.103889,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"peerconnection:http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454128,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyOH0.IFA75f2tB1-sRvO5O6VQ8N8ks__kir5w4RxLbRhi6Wk"} 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":"7f9aec10-3d42-11ef-b841-3faa56dbb9da"},"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/f9bc63f5-e5b2-47c9-943a-bd6982c1306f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f9bc63f5-e5b2-47c9-943a-bd6982c1306f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff9bc63f5-e5b2-47c9-943a-bd6982c1306f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff9bc63f5-e5b2-47c9-943a-bd6982c1306f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"16e70ce6-f393-455d-b695-a7836b62771d","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.9971113} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a35d2586-d40d-4f3f-9f9b-53bd5b4fb32f","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454128.997401} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"709d67b78f93387a8d2b9429a0a45147","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f9aec10-3d42-11ef-b841-3faa56dbb9da"},"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":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f"}}},"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":"bc5e81829e010d1206ceeee6f46c5dfd","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f 204 25ms","method":"DELETE","requestID":"7f9aec10-3d42-11ef-b841-3faa56dbb9da","responseTime":25,"status":204,"url":"/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f"} 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/f8b3bd7c-a515-4f57-b04f-65835384350e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f9bc63f5-e5b2-47c9-943a-bd6982c1306f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:29Z"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213977,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","payload":{"admin":true,"edgeToken":"Y-hxOtKPTv9S_sW7xsKy4rKIGrNUC86uwZyCWjpri_30mRu5vTNnHmmqkWuX_uDWFW5u76rkRWKCH_KgxJStgA","iat":1720454128,"sub":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6","subject_alt":"http://localhost/users/d8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2Q4ZTg5YThlLTRkNmMtNGQ0My05ZjNjLTkxODExNjRhODZmNiIsImVkZ2VUb2tlbiI6IlktaHhPdEtQVHY5U19zVzd4c0t5NHJLSUdyTlVDODZ1d1p5Q1dqcHJpXzMwbVJ1NXZUTm5IbW1xa1d1WF91RFdGVzV1NzZya1JXS0NIX0tneEpTdGdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ1NDEyOH0.IFA75f2tB1-sRvO5O6VQ8N8ks__kir5w4RxLbRhi6Wk"} 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":"7f9f0ac0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7'"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"353d168e-09ff-4533-ad94-e9c91a95e5ed","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454129.0188265} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50f8fc85-80b4-4940-b7b9-e160a82dfb70","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454129.0191507} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"194","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f9f0ac0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7 204 28ms","method":"DELETE","requestID":"7f9f0ac0-3d42-11ef-b841-3faa56dbb9da","responseTime":28,"status":204,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Received request.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:29Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8b3bd7c-a515-4f57-b04f-65835384350e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6a22bf5-4bf9-42f4-853a-2efb8e70159a","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454129.0584848} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.495216,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7fa684d0-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f8b3bd7c-a515-4f57-b04f-65835384350e/signaling 200 9ms","method":"POST","requestID":"7fa684d0-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":200,"url":"/devices/f8b3bd7c-a515-4f57-b04f-65835384350e/signaling"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff65aca14-df29-4ed8-a45f-9b2bfe932f37': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff65aca14-df29-4ed8-a45f-9b2bfe932f37","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fd8e89a8e-4d6c-4d43-9f3c-9181164a86f6"}]},"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","writes":null},"raw_response":{},"request_id":"d2c9a8aa-4bd5-458a-9455-36d6aaadb0c4","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454129.0655515} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"id":"01J29GSANM7KPDA4K72FFCRMVX","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T"},"raw_response":{"authorization_model":{"id":"01J29GSANM7KPDA4K72FFCRMVX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5f6756a-1062-4829-967d-e71172b72fd6","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454129.0657399} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb929a195cb4ff50f418a14d1b8e4212"},"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:53760","level":"info","msg":"Received request.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T15:55:29Z"} authorization-1 | {"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47278","raw_request":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","contextual_tuples":null,"store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe29a115d-7f02-4cd8-bd1f-1fee5311c8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b781b42-b227-4c67-ab01-fea8bbf41007","store_id":"01J29GSAMAWVG7JAX19C1NPZ6T","subsystem":"openfga","timestamp":1720454129.070307} authorization-1 | {"client_addr":"127.0.0.1:53760","level":"info","msg":"Sent response.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.13224,"resp_status":200,"subsystem":"opa","time":"2024-07-08T15:55:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","openfga":{"authorization_model_id":"01J29GSANM7KPDA4K72FFCRMVX","store":"01J29GSAMAWVG7JAX19C1NPZ6T"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7","object_type":"device","rebac_allow":false,"scope_allow":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":"7fa85990-3d42-11ef-b841-3faa56dbb9da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"7fa85990-3d42-11ef-b841-3faa56dbb9da"} device-1 | {"level":"info","message":"POST /devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/signaling 404 9ms","method":"POST","requestID":"7fa85990-3d42-11ef-b841-3faa56dbb9da","responseTime":9,"status":404,"url":"/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7/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/f65aca14-df29-4ed8-a45f-9b2bfe932f37"} gateway-1 | {"time_local":"08/Jul/2024:15:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb929a195cb4ff50f418a14d1b8e4212"} experiment-1 | {"level":"info","message":"DELETE /experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37 204 180ms","method":"DELETE","requestID":"fb929a195cb4ff50f418a14d1b8e4212","responseTime":180,"status":204,"url":"/experiments/f65aca14-df29-4ed8-a45f-9b2bfe932f37"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"709d67b78f93387a8d2b9429a0a45147","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55: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.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"709d67b78f93387a8d2b9429a0a45147"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"bc5e81829e010d1206ceeee6f46c5dfd","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"bc5e81829e010d1206ceeee6f46c5dfd"} gateway-1 | {"time_local":"08/Jul/2024:15:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2406","request_time":"8.435","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a1e0ad617db8d769127ad655327f0177"} gateway-1 | {"time_local":"08/Jul/2024:15:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"10.794","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"79d16643cd5324c0e7024df3460ccc44"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f8b3bd7c-a515-4f57-b04f-65835384350e' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7' 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":"e3b116bea6b7bcf8e1e994ddb7429ded","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/e29a115d-7f02-4cd8-bd1f-1fee5311c8e7"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"e3b116bea6b7bcf8e1e994ddb7429ded","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:15:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"e3b116bea6b7bcf8e1e994ddb7429ded"} authentication-1 exited with code 0 device-1 exited with code 0 authorization-1 exited with code 0 federation-1 exited with code 0 experiment-1 exited with code 0 gateway-1 exited with code 0